home *** CD-ROM | disk | FTP | other *** search
/ Freelog 22 / freelog 22.iso / Prog / Djgpp / RHIDE14B.ZIP / info / rhide.inf < prev   
Encoding:
GNU Info File  |  1997-10-01  |  205.6 KB  |  5,654 lines

  1. This is Info file rhide.inf, produced by Makeinfo version 1.67 from the
  2. input file rhide.num.
  3.  
  4. START-INFO-DIR-ENTRY
  5. * RHIDE: (rhide.inf).   Documentation about RHIDE, an IDE for DJGPP or Linux.
  6. END-INFO-DIR-ENTRY
  7.  
  8. This is the documentation for the Integrated Development Environment RHIDE.
  9.  
  10. Copyright (C) 1996,1997 Robert Höhne
  11.  
  12. This documentation may be freely distributed with the RHIDE package or any
  13. part thereof, provided this copyright notice is left intact on all copies.
  14.  
  15. 
  16. File: rhide.inf,  Node: Top,  Prev: (dir),  Up: (dir)
  17.  
  18. RHIDE
  19. *****
  20.  
  21.   The following master menu lists the major topics in this documentation,
  22. including all the indices.
  23.  
  24. * Menu:
  25.  
  26. * Introduction::
  27. * General information about how RHIDE works::
  28. * Description of the pull-down menus::
  29. * Detailed description of some parts of RHIDE::
  30. * Debugging with RHIDE::
  31. * Debugging with RHGDB::
  32. * Some FAQs::
  33. * Index::
  34. * Index of key commands::
  35.  
  36. 
  37. File: rhide.inf,  Node: Introduction,  Next: General information about how RHIDE works,  Prev: Top,  Up: Top
  38.  
  39. 1. Introduction
  40. ***************
  41.  
  42. * Menu:
  43.  
  44. * Copying::
  45. * Installing RHIDE::
  46. * What is RHIDE?::
  47. * Requirements::
  48. * Getting started::
  49. * The program GPR2MAK.EXE::
  50. * First steps with RHIDE::
  51. * Environment variables::
  52.  
  53. 
  54. File: rhide.inf,  Node: Copying,  Next: Installing RHIDE,  Prev: Introduction,  Up: Introduction
  55.  
  56. 1.1 Copying
  57. ===========
  58.  
  59.  
  60. RHIDE is copyright by Robert Höhne.
  61. Parts of RHIDE are copyright by other people as noted in the
  62. source files.
  63.  
  64.   This program is free software; you can redistribute it and/or modify
  65.   it under the terms of the GNU General Public License as published by
  66.   the Free Software Foundation; either version 2 of the License, or
  67.   (at your option) any later version.
  68.  
  69.   This program is distributed in the hope that it will be useful,
  70.   but WITHOUT ANY WARRANTY; without even the implied warranty of
  71.   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  72.   GNU General Public License for more details.
  73.  
  74.   You should have received a copy of the GNU General Public License
  75.   along with this program; if not, write to the Free Software
  76.   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  77.  
  78. Additional conditions:
  79.  
  80. If you make any modifications on RHIDE, you have to leave the original
  81. copyright notice intact and add an comment about your modifications.
  82.  
  83. If you distribute the binaries for RHIDE from modified sources, then
  84. you have to add a notification which is printed at startup of RHIDE
  85. and in the about box to tell the user that you have made modifications
  86. and that it is not the binary from the original sources distributed by me.
  87.  
  88. If you distribute the sources for RHIDE, you are not allowed to distribute
  89. the full modified sources for the Turbo Vision library because of the
  90. copying conditions by Borland International.
  91.  
  92. If you want to include RHIDE (binaries and/or sources) in a commercial
  93. product (on a CD-ROM for a book or something else) contact me first.
  94.  
  95. For contacting the author send electronic mail to
  96.  
  97. Robert.Hoehne@Mathematik.TU-Chemnitz.DE
  98.  
  99. (valid until at least 30. September 1997)
  100.  
  101. or paper mail to
  102.  
  103. Robert Höhne
  104. Am Berg 3
  105. D - 09573 Dittmannsdorf
  106. Germany
  107.  
  108. 
  109. File: rhide.inf,  Node: Installing RHIDE,  Next: What is RHIDE?,  Prev: Copying,  Up: Introduction
  110.  
  111. 1.2 Installing RHIDE
  112. ====================
  113.  
  114. There are two archives
  115.  
  116. `rhide??b.zip'
  117.      This contains the executables and the documentation for RHIDE running
  118.      on DJGPP
  119.  
  120. `rhide-?.?-1.i386.rpm'
  121.      This is a RPM package with the binaries of RHIDE for Linux.
  122.  
  123. `rhide??s.zip'
  124.      This contains the sources of RHIDE for DJGPP.
  125.  
  126. `rhide-?.?-1.src.rpm'
  127.      This is a RPM package with the sources of RHIDE for Linux.
  128.  
  129. NOTE: The sources for the Linux and DJGPP versions are of course in its
  130. core the same, there are only differences in the text-file formats (CR or
  131. CR/LF) and the project files differ and the DJGPP sources contain some
  132. additional patches for the libc library to fix some known bugs there. But
  133. in general both archives can be used on both systems (after some cosmetic
  134. changes).
  135.  
  136. where `??' in the above filenames stand for the digits of the actual
  137. version of RHIDE.
  138.  
  139. These archives can be found at The RHIDE home page, at this URL:
  140.  
  141.      http://www.tu-chemnitz.de/~rho/rhide.html
  142.  
  143. (valid until at least 30. Sepetember 1997) or at any ftp site, which
  144. mirrors DJGPP.
  145.  
  146. The RPM packackes can be found at sunsite mirrors and/or also in some
  147. Linux distributions.
  148.  
  149. To install these archives, unzip them in the DJGPP-root directory, like
  150. any other DJGPP package.
  151.  
  152. To install the Linux RPM packages, use your favotite install program (most
  153. Linux distributions allow to install RPM packages) or install it with the
  154. Redhat package manager itself.
  155.  
  156. * Menu:
  157.  
  158. * Configuring RHIDE::
  159.  
  160. 
  161. File: rhide.inf,  Node: Configuring RHIDE,  Prev: Installing RHIDE,  Up: Installing RHIDE
  162.  
  163. 1.2.1 Configuring RHIDE
  164. -----------------------
  165.  
  166. In most cases do nothing to configure RHIDE. But there are some special
  167. things, which must be configured which have mostly to do with the editor
  168. (or better) the keyboard layout.
  169.  
  170. The editor of RHIDE is configurable for the keyboard. For this it uses a
  171. text file `keybind.txt', which is searched in the following directories
  172. (in that order). If it was not found in any of these directories RHIDE
  173. uses builtin defaults. For more information about creating (customizing)
  174. the file and about the syntax of that file see *Note Documentation about
  175. the keyboard: (editor)Keyboard,
  176.  
  177.    * The current directory
  178.  
  179.    * The contents of the variable `$(RHIDE_SHARE)' it is set.
  180.  
  181.    * The contents of the variable `$(HOME)' it is set.
  182.  
  183.    * `%DJDIR%/share/rhide'
  184.  
  185. The binary archive of RHIDE includes already the config files for the US
  186. keyboard layout (`us.txt') and many others, which are based on the Linux
  187. keytables. If you have problems with the keyboard layout try to copy one
  188. of the files to `keybind.txt' (probably the one, which has a name similar
  189. to your country).
  190.  
  191. RHIDE also contains the file `keybind.txt' which IS `us.txt'.
  192.  
  193. As an example, if you are are using a German keyboard, and you have
  194. installed `keyb.com' as your keyboard driver program, you need to copy
  195. `de.txt' to `keybind.txt' otherwise (for example) the keys <y> and <z> are
  196. exchanged.
  197.  
  198. If you are using a keyboard driver (like I), which converts the scancodes
  199. of the keys (`keyb.com' does that NOT) you will probably not need the file
  200. `de.txt' (but the default `keybind.txt').
  201.  
  202. For configuring RHIDE on Linux (especially when running under X) *Note
  203. Running under Linux::
  204.  
  205. 
  206. File: rhide.inf,  Node: What is RHIDE?,  Next: Requirements,  Prev: Installing RHIDE,  Up: Introduction
  207.  
  208. 1.3 What is RHIDE?
  209. ==================
  210.  
  211. What is RHIDE? RHIDE is an Integrated Development Environment for
  212. compiling C- or C++-files (GNU-Assembler source files also supported) in
  213. an environment, which has an integrated editor where you can edit your
  214. source files and a project management, where you can define, which files
  215. are needed to build a program or a library.
  216.  
  217. For what stands the name RHIDE? This has nothing mystic in it. It comes
  218. simply from my initials RH and IDE (Integrated Development Environment).
  219.  
  220. RHIDE works like the IDE from Borland, which comes with Turbo C++ 3.1 and
  221. is written with the Turbo Vision library, which I have ported to use with
  222. DJGPP. Features of this IDE are:
  223.    - Syntax highlighting is now supported and you can customize all colors
  224.      on your desktop.
  225.  
  226.    - You can redirect the stdout and stderr from your program to a window
  227.      in the IDE.
  228.  
  229.    - You can generate a makefile for your project, so you can build the
  230.      program also without the IDE.
  231.  
  232.    - Most of the commandline options of GCC can be customized.
  233.  
  234.    - You can also build a library instead of an executable.
  235.  
  236.    - When saving a file to disk, the modification time of this file will
  237.      be set to the time of the last modification in the editor.
  238.  
  239.    - You can interrupt external programs (the compilers or your program)
  240.      by pressing <Ctrl+C> or <Ctrl+Break> which are ignored by the IDE.
  241.      That means also, that you cannot interrupt the IDE by pressing these
  242.      keys. If you want to enable this, compile the IDE without the
  243.      `-DNO_BREAK'-flag.
  244.  
  245.    - The integrated debugger. You can debug your program within RHIDE by
  246.      executing each source line of your code and evaluating/modifying
  247.      variables and expressions.
  248.  
  249.    - You can define another compiler to compile your source files.
  250.  
  251. In addition to RHIDE I have included a stand-alone debugger (called
  252. `rhgdb.exe'), which is GDB 4.16 with a Turbo Vision user interface.
  253.  
  254. 
  255. File: rhide.inf,  Node: Requirements,  Next: Getting started,  Prev: What is RHIDE?,  Up: Introduction
  256.  
  257. 1.4 Requirements
  258. ================
  259.  
  260. RHIDE works under and is compiled with DJGPP V2.01.  To compile your
  261. programs you need a working GCC-configuration, that means, GCC must be
  262. found in your path. Because DJGPP works only under DPMI you need a
  263. DPMI-Server.  If you run it under Windows 3.1(1)/95, you have DPMI. Under
  264. MS-DOS you need either a memory-manager, which give you DPMI-services (I
  265. think QEMM is it, EMM386 has no DPMI-support), or you use CWSDPMI, the
  266. free DPMI-server from Charles W. Sandmann, which you can find on
  267. SimTel-ftp-sites. I use it and it works fine for me.
  268.  
  269. The builtin editor uses a simple heuristic to check, if a file is in UNIX
  270. or DOS text format. It checks the first 1024 Bytes, and if there is a lf
  271. without a cr, all lf's will be translated to cr/lf's. This is done at
  272. first only in memory. But if you save your file to disk, it will be saved
  273. in DOS text format.
  274.  
  275. RHIDE will work correctly only with DJGPP version 2.01 or higher. If you
  276. have installed DJGPP 2.0, you will run into problems when the commandline
  277. passed to the called compilers or the linker will exceed the 126 character
  278. limit. There is a new technique used from DJGPP 2.01 on, which programs
  279. compiled under 2.0 don't understand.
  280.  
  281. 
  282. File: rhide.inf,  Node: Getting started,  Next: The program GPR2MAK.EXE,  Prev: Requirements,  Up: Introduction
  283.  
  284. 1.5 Getting started
  285. ===================
  286.  
  287. To run RHIDE type
  288.      rhide [options] ['file-name']
  289. or
  290.      rhide [options] 'project-name' [options]
  291. Here stands 'file-name', for a file, which you want to open at start up.
  292. If it has no suffix it is assumed to be a 'project-name'.
  293.  
  294. 'project-name' stands for a name of your project. If you don't type it,
  295. RHIDE searches the current directory for a project file. If there exists
  296. only one, it will be opened. If there exist more than one or none, RHIDE
  297. will not open a project, you have to do it manually.  (*Note Open
  298. project::)
  299.  
  300. Possible options are for debugging RHIDE itself (*Note Debugging RHIDE::).
  301. If no project was open, you will see an empty desktop.  At the top-line of
  302. the screen you can see the menu. This is activated by pressing <F10> or by
  303. clicking with the mouse at this line.  Alternatively you can press <Alt>
  304. plus the highlighted character of a pull-down menu, e.g. to activate the
  305. *File* menu, press `Alt+F'. At the bottom is the status line with some
  306. hotkeys and their functions displayed.
  307.  
  308. Other options are:
  309.  
  310. `-H'
  311.      Do not install the console switch handler, which saves/restores the
  312.      modified keyboard layout. This options works only when running under
  313.      Linux.
  314.  
  315. `-S'
  316.      Tells RHIDE to use only 16bit access to the video memory under DJGPP,
  317.      becuase some video cards cannot handle the 32bit access.
  318.  
  319. `-E'
  320.      Dump all variables known to RHIDE (the builtins and the real
  321.      environment variables) to `stderr' end exit.
  322.  
  323. `-C'
  324.      Disable the handling of SIGINT
  325.  
  326. `-y'
  327.      Use long filenames (only under Windows 95)
  328.  
  329. `-n'
  330.      Do not use long filenames (only under Windows 95)
  331.  
  332. `-c'
  333.      Do not convert the case of any file name
  334.  
  335. `-h'
  336.      Show a short help about all the possible options.
  337.  
  338. `-b'
  339.      Use BIOS calls for setting and resetting the behavior of the 7th bit
  340.      in a color attribute (blinking or 16 background colors) instead of
  341.      direct outputs to the VGA registers.
  342.  
  343. `-k KEY_FILE'
  344.      The editor in RHIDE is now configurable also for the keyboard.  The
  345.      file, where the key bindings are stored, is searched at first in the
  346.      current directory; then in the directory `%DJDIR%/data'; and then in
  347.      the directory where the executable is. If all this fails default
  348.      values are taken.
  349.  
  350.      With this switch you can override the default name of `keybind.txt'
  351.      to whatever you want.
  352.  
  353. `-p'
  354.      Normally RHIDE converts all the num-pad keys to the equivalent keys
  355.      on the other keyboard (of course also by checking the <NumLock> key).
  356.      With this switch you can disable this.
  357.  
  358. `-G n'
  359.      Select which method is used for swapping the display. Currently there
  360.      are two, little different functions implemented.  If you have
  361.      problems with display swapping when in graphics mode, try to use
  362.      another method and see if that helps.
  363.  
  364. `-K'
  365.      Tell RHIDE, to use real BIOS calls for it's keyboard input. This is
  366.      needed sometimes, when you have installed some special keyboard
  367.      drivers.
  368.  
  369. `-M'
  370.      This tells RHIDE to not to install the mouse callback function for
  371.      getting the mouse events. Instead of this RHIDE calls the mouse BIOS
  372.      functions for getting any event of the mouse. This option should be
  373.      used mainly when running under Windows NT (but there I select this
  374.      now automatically by default)
  375.  
  376. At the upper right corner of the screen you can see the free
  377. virtual/physical memory (where M stands for Megabytes, K for Kilobytes and
  378. B for Bytes), if enabled (*Note Preferences::).
  379.  
  380. If you try to open a project, which does not exist, RHIDE will create a
  381. new one.  The way for creating a new project is done by RHIDE as follows.
  382. If there exist in the directory of RHIDE (usually in %DJDIR%/bin) a
  383. project file with the root name of the executable and the suffix `.gpr',
  384. this file is copied as your new project file with all customizations, which
  385. you have done in it. If this standard project file doesn't exist, a new
  386. project file is created with the hardcoded defaults.
  387.  
  388. To create such a standard project file, change to the directory where the
  389. executable is and call the exe-file with the argument of its name without
  390. the suffix `.exe'. After leaving the program, the standard project file is
  391. created.
  392.  
  393. * Menu:
  394.  
  395. * Supported languages::
  396. * Debugging RHIDE::
  397.  
  398. 
  399. File: rhide.inf,  Node: Supported languages,  Next: Debugging RHIDE,  Prev: Getting started,  Up: Getting started
  400.  
  401. 1.5.1 Supported languages
  402. -------------------------
  403.  
  404. There is also support for multiple languages. For this RHIDE uses the GNU
  405. gettext library. With this lib it is possible to support multiple
  406. languages without changing any code of RHIDE, when adding a new language.
  407.  
  408. There are two ways for selecting the language. Either you set the
  409. environment variable LANGUAGE to the language you want or give it as a
  410. commandline argument to RHIDE. The normal way is by setting LANGUAGE. If
  411. you have installed RHIDE as described in the `readme', you should specify
  412. the language with a two character shortcut. Here is the list of the
  413. current supported languages together with the two character code:
  414.  
  415. `da'
  416.      Danish maintained by ERIK BACHMANN <ebp@dde.dk>
  417.  
  418. `de'
  419.      German maintained by ROBERT HöHNE
  420.      <Robert.Hoehne@Mathematik.TU-Chemnitz.DE> (valid until at least 30.
  421.      September 1997)
  422.  
  423. `es'
  424.      Spanish maintained by SALVADOR EDUARDO TROPEA (SET) <ice@inti.edu.ar>
  425.  
  426. `fi'
  427.      Finnish maintained by JARI ANTTONEN <janttone@iwn.fi>
  428.  
  429. `fr'
  430.      French maintained by ERIC NICOLAS <nicolas@dsys.ceng.cea.fr>
  431.  
  432. `it'
  433.      Italian maintained by NORMANDO MARCOLONGO
  434.      <i094968@spv.ing.uniroma1.it>
  435.  
  436. `nl'
  437.      Dutch maintained by MARTIJN LAAN <mlaan@cs.vu.nl>
  438.  
  439. `pt'
  440.      Portuguese maintained by GONCALO FARIAS <mad@telepac.pt>
  441.  
  442. `sv'
  443.      Swedish maintained by CHRISTIAN AXBRINK <sa9471@ida.utb.hb.se>
  444.  
  445. When you want to specify the language on the commandline, use the following
  446. syntax:
  447.      rhide -L LANGUAGE
  448. where LANGUAGE represents the language code.
  449.  
  450. If you do not specify any language, English is assumed.
  451.  
  452. Because it was not possible to get all the translations at the time when
  453. RHIDE was ready, I included only the message files (that are the files
  454. with the `.mo' suffix) as they are ready in the binary archive. That means
  455. that it is possible that you will see some strings in English instead of
  456. your language.
  457.  
  458. 
  459. File: rhide.inf,  Node: Debugging RHIDE,  Prev: Supported languages,  Up: Getting started
  460.  
  461. 1.5.2 Debugging RHIDE
  462. ---------------------
  463.  
  464. I have added some commandline options to debug the IDE itself. These
  465. options are the following:
  466.  
  467. `-dt'
  468.      Do not remove the temporary files which the IDE creates. The names of
  469.      these files will be printed to stderr.
  470.  
  471. `-dc'
  472.      Print to `stderr' the commands which the IDE executes.
  473.  
  474. `-dd'
  475.      Print to `stderr' how the IDE checks the dependencies.
  476.  
  477. `-df'
  478.      Print to `stderr' how the IDE searches for files.
  479.  
  480. `-ds'
  481.      Print to `stderr' how the IDE expands the specs.
  482.  
  483. `-da'
  484.      Turns on all of the above
  485.  
  486. You can also combine these options like `-dct', which is the same as `-dc
  487. -dt'.
  488.  
  489. To examine this debugging information, it is the best to use the redir
  490. command, to redirect the stderr to a file like
  491.      redir -e err rhide -da project
  492. which will redirect stderr to the file `err'.
  493.  
  494. Each of the letters above (after `-d') can be prefixed by a `-' or a `+'
  495. to explicitely turn the flag on or off.  For instance `-dc' and `-d+c' are
  496. the same and `-da-c' selects all debugging options except the `-dc' switch.
  497.  
  498. If you want to supply certain switches for RHIDE as a default, you may put
  499. them into the environment variable `$(RHIDEOPT)'.  The contents of this
  500. variable is used before the the real commandline is parsed.  That means
  501. you can overwrite the switches from the environment variable.
  502.  
  503. 
  504. File: rhide.inf,  Node: The program GPR2MAK.EXE,  Next: First steps with RHIDE,  Prev: Getting started,  Up: Introduction
  505.  
  506. 1.6 The program GPR2MAK.EXE
  507. ===========================
  508.  
  509. This program can be used to create a makefile from your project-file.  It
  510. does exactly the same as the function which is selectable from the RHIDE
  511. menu (*Note Write Makefile::).
  512.  
  513. In RHIDE you have only the possibility to say, if in the generated
  514. makefile all dependencies should be included or not. With `gpr2mak.exe'
  515. you can tell also to create recursively all the needed makefiles. This
  516. makes sense only if you have included other projects in your project.
  517.  
  518. Here are the possible commandline options for `gpr2mak.exe'.
  519. `-d'
  520.      Include all dependencies in the makefile
  521.  
  522. `-d-'
  523.      Include only the needed dependencies to create the final program or
  524.      library.
  525.  
  526. `-r'
  527.      Call `gpr2mak.exe' recursively, if there are other projects part of
  528.      the project.
  529.  
  530. `-r-'
  531.      Do not call `gpr2mak.exe' recursively.
  532.  
  533. `-o OUTFILE'
  534.      Use `OUTFILE' instead of the project name (with the suffix `.mak') as
  535.      the created makefile. If you want to write the makefile to `stdout',
  536.      use `-' as `OUTFILE'.
  537.  
  538. And the complete syntax for calling `gpr2mak.exe' is also:
  539.  
  540.      gpr2mak.exe [-d[-]] [-r[-]] [-o OUTFILE] project-file
  541.  
  542. If you give no options, (the project-file must be given), `gpr2mak.exe'
  543. assumes the flags `-d- -r-' as default.
  544.  
  545. 
  546. File: rhide.inf,  Node: First steps with RHIDE,  Next: Environment variables,  Prev: The program GPR2MAK.EXE,  Up: Introduction
  547.  
  548. 1.7 First steps with RHIDE
  549. ==========================
  550.  
  551. Here I will give you some instructions for the first steps to get contact
  552. with RHIDE.
  553.  
  554. * Menu:
  555.  
  556. * What are these so called projects::
  557. * Creating your first project::
  558.  
  559. 
  560. File: rhide.inf,  Node: What are these so called projects,  Next: Creating your first project,  Prev: First steps with RHIDE,  Up: First steps with RHIDE
  561.  
  562. 1.7.1 What are these so called projects
  563. ---------------------------------------
  564.  
  565. A project for RHIDE is a file, which contains all the needed information
  566. required to build a program or library from one or more source files. Also
  567. all the other options which belong to the look and feel of your desktop
  568. are stored there.
  569.  
  570. In general RHIDE creates for each project two files. One for the project
  571. itself (it has the suffix `.gpr') and one for the desktop related things
  572. (it has the suffix `.gdt').
  573.  
  574. To create a new project either run rhide with a not existing project name
  575. as argument or open within RHIDE a project by selecting a name which is
  576. not existent.
  577.  
  578. 
  579. File: rhide.inf,  Node: Creating your first project,  Prev: What are these so called projects,  Up: First steps with RHIDE
  580.  
  581. 1.7.2 Creating your first project
  582. ---------------------------------
  583.  
  584. For the next instructions I will assume, that you want to create a project
  585. for the standard "Hello world" program in the current directory. Create now
  586. the new project by running
  587.  
  588.      rhide hello
  589.  
  590. and you will see an empty desktop and one window opened, the project
  591. window.  This window will show you that there is no file defined for your
  592. project.  If the project window is selected, (it has a double frame), then
  593. hit there <Ins> and you will be prompted for adding an item to your
  594. project.
  595.  
  596. Type in the input line now `hello.c' and hit <ENTER>. Now hit <ESC> to
  597. leave the dialog. You will see now, that the project window contains a
  598. line with `hello.c'.
  599.  
  600. Now hit <ENTER> on that filename and you will get an empty editor window
  601. named `hello.c' prepended by the current directory. In this editor window
  602. you can type now the program:
  603.  
  604. #include <stdio.h>
  605.  
  606. int main()
  607. {
  608.   printf("Hello world!\n");
  609.   exit(0);
  610. }
  611.  
  612. Now you can select from the Run-menu the Run entry (or use the hotkey
  613. `Ctrl+F9') and RHIDE will do all the necessary steps to compile, link and
  614. execute the program.
  615.  
  616. If everything was correct (no typing errors) or some other error, you will
  617. get a message box where RHIDE tells you, that the program exited with an
  618. exit code of 0. (This is the value, which you have specified in your
  619. program above in the `exit(0);' statement) This box you can close with
  620. <ENTER> or <ESC>.
  621.  
  622. To see the output of the program, you can switch now to the user screen
  623. with `Alt+F5' or from the menu (Windows/User screen).  To return back to
  624. RHIDE hit any key.
  625.  
  626. 
  627. File: rhide.inf,  Node: Environment variables,  Prev: First steps with RHIDE,  Up: Introduction
  628.  
  629. 1.8 Environment variables
  630. =========================
  631.  
  632. RHIDE uses many environment variables for it's configuration and behavior.
  633. This includes also some standard variables, which are used by the in RHIDE
  634. linked libraries. These are:
  635.  
  636. $(LOCALEDIR)
  637.      This should point to the directory, where your locale files are
  638.      stored. If it is not set, RHIDE tries to get the system default
  639.      value, which is for Linux `/usr/share/locale' and for DJGPP
  640.      `$(DJDIR)/share/locale'.
  641.  
  642. $(INFOPATH)
  643.      This is a pathlist of directories, where your INFO files are stored.
  644.      If not set, RHIDE tries the standard directory, which should for
  645.      Linux `/usr/info' and for DJGPP `$(DJDIR)/info'.
  646.  
  647. $(RHIDEOPT)
  648.      This variable can be used, to define global RHIDE commandline
  649.      options. The value of this variable is used, as if the contents are
  650.      given on commandline before any of the real commandline options.
  651.      Which means, they can be overwritten on the commandline.
  652.  
  653. $(ESCDELAY)
  654.      This variable is used *ONLY* in the Linux version, where it defines
  655.      the delay after pressing <ESC> to wait for another keypress to
  656.      simulate an <Alt> keycode. The value is given in milliseconds and
  657.      defaults to 1000.
  658.  
  659. $(LANGUAGE)
  660.      This variable is used to specify the language, in which RHIDE should
  661.      communicate with you. The contents of this variable should be the ISO
  662.      2-character code of your country.
  663.  
  664. $(RHIDE_SHARE)
  665.      With this variable you can tell RHIDE where it should look at first
  666.      for it's configuration files.
  667.  
  668. * Menu:
  669.  
  670. * Setting environment variables for RHIDE::
  671. * Where to store the environment file::
  672.  
  673. 
  674. File: rhide.inf,  Node: Setting environment variables for RHIDE,  Next: Where to store the environment file,  Prev: Environment variables,  Up: Environment variables
  675.  
  676. 1.8.1 Setting environment variables for RHIDE
  677. ---------------------------------------------
  678.  
  679. There are some different ways for setting environment variables for RHIDE.
  680. One of them is to set them like any other environment variable on your
  681. system. But this means that these variables are visible also by all the
  682. other programs.
  683.  
  684. When using the DJGPP version, you can set them in your `djgpp.env' file
  685. either at the beginning as global variables for any DJGPP program or in a
  686. special section `[RHIDE]' only for RHIDE. Please read the doc about the
  687. format of the `djgpp.env' file for more information.
  688.  
  689. Derived from the technique used on DJGPP for setting environment variables
  690. which are visible only for DJGPP programs, I have added in RHIDE a similar
  691. thing. RHIDE can read environment variables also from a file called
  692. `rhide.env'.
  693.  
  694. The syntax of this file is very simple. Each line has one of the following
  695. syntax:
  696. VARIABLE=CONTENTS
  697.      Which means, that the environment variable `VARIABLE' should become
  698.      the contents `CONTENTS' where `CONTENTS' can be also a variable,
  699.      which is expanded at runtime.
  700.  
  701. .OTHER_ENV_FILE
  702.      Such a line (it begins with a dot) tells RHIDE to read in at that
  703.      point the file `OTHER_ENV_FILE' as environment file. The name
  704.      `OTHER_ENV_FILE' can be also an environment variable, which is
  705.      expanded before reading the file.
  706.  
  707. # comments
  708.      A line, which begins with a `#' means, that this line is ignored.  It
  709.      can be used for you to write there some comments about that file.
  710.  
  711. !VARIABLE=CONTENTS
  712.      This is the same syntax as without the ! at the beginning of the line
  713.      but it tells RHIDE to place the variable also in the environmen so
  714.      also other programs (called by RHIDE) can see this variable.
  715.  
  716. RHIDE is very powerful in handling the environment variables. Most of it
  717. is taken from the behavior of GNU make. On this great things depend, that
  718. a variable name can consist also of other variables, which are computed
  719. when the variable should be expanded.
  720.  
  721. As an example of this, you can take a look on the RHIDE sources in the
  722. `rhide.env' files. There I'm using, for instance, the RHIDE builtin
  723. variable $(RHIDE_OS) to define the libraries, which are linked in RHIDE
  724. depending on the operating system where RHIDE is built.
  725.  
  726. An other example is distributed with RHIDE in it's binary archives as
  727. `rhide_.env' which is commented and should be in a directory
  728. `.../share/rhide/' where the `...' stand for a different directory on
  729. different OS's. (on DJGPP it is %DJDIR% and on Linux it is /usr/local )
  730.  
  731. Here is a part of the environment file `rhide.var' in the main RHIDE
  732. source directory (which is included by `rhide.env' with
  733. .$(RHIDESRC)/rhide.var
  734.  
  735. RHIDE_OS_LIBS_Linux=ncurses gpm m
  736. RHIDE_OS_LIBS_DJGPP_idegc.exe=dbg
  737. RHIDE_OS_LIBS_DJGPP=$(RHIDE_OS_LIBS_DJGPP_$(MAIN_TARGET))
  738. RHIDE_OS_LIBS=$(RHIDE_OS_LIBS_$(RHIDE_OS))
  739.  
  740. The RHIDE builtin linker spec (*Note Builtin compiler specs::) includes
  741. also $(RHIDE_OS_LIBS) when linking. Since RHIDE can be built on DJGPP and
  742. Linux and on these different operating systems I have to link different
  743. libraries.
  744.  
  745. Description of the above: When linking on DJGPP the file `idegc.exe'
  746. (which is RHIDE) I have to include (in addition to all the other
  747. libraries) `libdbg.a', which contains all the DJGPP specific debugging
  748. functions. This is done at runtime by expanding RHIDE_OS_LIBS. Here are
  749. the steps, how RHIDE expands the variable RHIDE_OS_LIBS:
  750.  
  751. $(RHIDE_OS_LIBS)                      ->  $(RHIDE_OS_LIBS_$(RHIDE_OS))
  752. $(RHIDE_OS_LIBS_$(RHIDE_OS))          ->  $(RHIDE_OS_LIBS_DJGPP)
  753. $(RHIDE_OS_LIBS_DJGPP)                ->  $(RHIDE_OS_LIBS_DJGPP_$(MAIN_TARGET))
  754. $(RHIDE_OS_LIBS_DJGPP_$(MAIN_TARGET)) ->  $(RHIDE_OS_LIBS_DJGPP_idegc.exe)
  755. $(RHIDE_OS_LIBS_DJGPP_idegc.exe       ->  dbg
  756.  
  757. In a similar way it expands on Linux to
  758.  
  759. $(RHIDE_OS_LIBS) -> ncurses gpm m
  760.  
  761. 
  762. File: rhide.inf,  Node: Where to store the environment file,  Prev: Setting environment variables for RHIDE,  Up: Environment variables
  763.  
  764. 1.8.2 Where to store the environment file
  765. -----------------------------------------
  766.  
  767. RHIDE searches some known directories for the file `rhide.env' (and of
  768. course also other there defined included files).
  769.  
  770. At first it searches for a global file in `/usr/local/share/rhide' (on
  771. Linux) or `$(DJDIR)/share/rhide'. Then it searches in `$(HOME)' and at
  772. last in the current directory.
  773.  
  774. RHIDE does not only a search, it also loads the file, if it was found in
  775. any of the above mentioned directories. That means, if in all these
  776. directories `rhide.env' exists, it is loaded. This has the effect, that
  777. you can define some global defaults which can be overwritten with a
  778. `rhide.env' in the current or your home directory.
  779.  
  780. 
  781. File: rhide.inf,  Node: General information about how RHIDE works,  Next: Description of the pull-down menus,  Prev: Introduction,  Up: Top
  782.  
  783. 2. General information about how RHIDE works
  784. ********************************************
  785.  
  786. In this section I will give you some comments about the concept of RHIDE.
  787. RHIDE works with the GNU compilers. As a result of this, most of the
  788. options are fixed and they are mostly also specific only for this
  789. compiler. If I speak about compilers, I mean GCC, which calls the right
  790. compilers for you.  (`cpp' for preprocessing your input files, `cc1' for
  791. compiling C programs, `cc1plus' for compiling C++ programs and `as' for
  792. compiling assembler files and so on)
  793.  
  794. Selecting the right compiler for a specific file is done by RHIDE in the
  795. same way as GCC does it. It looks for the extension of the file and
  796. determines the language of this file.
  797.  
  798. * Menu:
  799.  
  800. * Known suffixes::
  801. * Syntax of arguments::
  802. * Running under Windows 95::
  803. * Running under OS/2::
  804. * Running under Windows NT::
  805. * Running under Linux::
  806. * General use of RHIDE::
  807.  
  808. 
  809. File: rhide.inf,  Node: Known suffixes,  Next: Syntax of arguments,  Prev: General information about how RHIDE works,  Up: General information about how RHIDE works
  810.  
  811. 2.1 Known suffixes
  812. ==================
  813.  
  814. The list of the known suffixes is taken from GCC. Remember the fact, that
  815. GCC and RHIDE check the suffixes in a case sensitive way especially when
  816. running under Windows 95 (*Note Running under Windows 95::).
  817.  
  818.    * Valid suffixes for C source files are
  819.     `.c'
  820.           Normal C source file
  821.  
  822.     `.i'
  823.           C source file, which doesn't need the preprocessor
  824.  
  825.    * Valid suffixes for C++ source files are
  826.     `.cc'
  827.     `.cpp'
  828.     `.cxx'
  829.     `.C'
  830.           Normal C++ source file
  831.  
  832.     `.ii'
  833.           C++ source file, which doesn't need the preprocessor
  834.  
  835.    * Valid suffixes for Objective C source files
  836.     `.m'
  837.           Normal Objective C source file
  838.  
  839.    * Valid suffixes for Pascal source files
  840.     `.p'
  841.     `.pas'
  842.           Normal Pascal source file
  843.  
  844.    * Valid suffixes for object files
  845.     `.o'
  846.           Normal object file
  847.  
  848.     `'
  849.           any other suffix, which has no predefined meaning
  850.  
  851.    * Valid suffixes for libraries
  852.     `.a'
  853.           Normal library file
  854.  
  855.    * Valid suffixes for executable files
  856.     `.exe'
  857.           Normal executable file for MS-DOS
  858.  
  859.     `.'
  860.           No suffix means the raw COFF image of an executable file. These
  861.           can be handled only by programs, which know about this format.
  862.           (DJGPP programs know this)
  863.  
  864.    * Valid suffixes for include files
  865.     `.h'
  866.           Normal include files
  867.  
  868.     `.hpp'
  869.           Some people told me, that this suffix should also be treated as
  870.           a valid suffix for header files, so I applied it.
  871.  
  872.     `'
  873.           Theoretically there is no restriction for such a suffix, but
  874.           RHIDE searches and finds only files with the above suffixes in
  875.           the specified directories (*Note Include directories::)
  876.  
  877.    * Valid suffixes for Assembler source files
  878.     `.s'
  879.           Normal Assembler source file
  880.  
  881.     `.S'
  882.           Assembler source file, which must be preprocessed by `cpp'. If
  883.           you have such files, there is a problem, when long filenames are
  884.           not enabled (default in MS-DOS), because RHIDE converts all
  885.           filenames in this situation to lower case. But you can add to
  886.           the local options for this item (*Note Local options::) the
  887.           commandline argument -X ASSEMBLER-WITH-CPP, to tell `GCC' to
  888.           preprocess this file first before assembling it.
  889.  
  890.    * Valid suffixes for Fortran source files
  891.     `.f'
  892.     `.for'
  893.           Normal Fortran source files
  894.  
  895.     `.F'
  896.     `.fpp'
  897.           Fortran source files which need not to be run through `cpp'.
  898.  
  899.    * Valid suffixes for ADA source files
  900.     `.adb'
  901.           Normal ADA source file
  902.  
  903.     `.ads'
  904.           ADA specs file
  905.  
  906.    * Valid suffixes for NASM
  907.     `.nsm'
  908.     `.asm'
  909.           Normal NASM source files.
  910.  
  911. 
  912. File: rhide.inf,  Node: Syntax of arguments,  Next: Running under Windows 95,  Prev: Known suffixes,  Up: General information about how RHIDE works
  913.  
  914. 2.2 Syntax of arguments
  915. =======================
  916.  
  917. In RHIDE you can specify some arguments to other programs. These arguments
  918. must be a space separated list of strings. If you want to have one or more
  919. spaces as part of an argument, you have to enclose the whole argument in
  920. single or double quotes.
  921.  
  922. 
  923. File: rhide.inf,  Node: Running under Windows 95,  Next: Running under OS/2,  Prev: Syntax of arguments,  Up: General information about how RHIDE works
  924.  
  925. 2.3 Running under Windows 95
  926. ============================
  927.  
  928. With DJGPP 2.01 were many bugs fixed, which caused problems under Windows
  929. 95 with the long (and case sensitive) filenames. Now all filenames are
  930. shown in lower case, except they contain characters with different case.
  931. That means, all normal 8+3 DOS filenames, which are normally reported in
  932. Windows 95 in upper cases, are automatically converted to lower case. For
  933. more information about filename conversion look at the libc reference.
  934.  
  935. If you really need the filenames exactly as they are reported by the OS,
  936. you can use the -C switch (*Note Getting started::).
  937.  
  938. You can also run more than one instance of RHIDE at once, in several
  939. DOS-boxes, because RHIDE creates and uses its own temp directory every
  940. time it starts to disable conflicts, when running multiple compilers at
  941. the same time. This is done by creating a directory in the directory
  942. pointed at by the environment variables %TMPDIR%, %TEMP% or %TMP%, in that
  943. order, until one of them exists. If none of them exists, the current
  944. directory is assumed. Then RHIDE puts the value of this directory into the
  945. environment variable %TMPDIR%. After leaving RHIDE this directory will be
  946. removed, if it is empty.
  947.  
  948. 
  949. File: rhide.inf,  Node: Running under OS/2,  Next: Running under Windows NT,  Prev: Running under Windows 95,  Up: General information about how RHIDE works
  950.  
  951. 2.4 Running under OS/2
  952. ======================
  953.  
  954. Because I have no access to OS/2, I cannot say anything about it. But some
  955. people said that they run RHIDE under OS/2 successfully, but there must be
  956. the exclusive mouse access to the DOS window disabled.
  957.  
  958. 
  959. File: rhide.inf,  Node: Running under Windows NT,  Next: Running under Linux,  Prev: Running under OS/2,  Up: General information about how RHIDE works
  960.  
  961. 2.5 Running under Windows NT
  962. ============================
  963.  
  964. 
  965. File: rhide.inf,  Node: Running under Linux,  Next: General use of RHIDE,  Prev: Running under Windows NT,  Up: General information about how RHIDE works
  966.  
  967. 2.6 Running under Linux
  968. =======================
  969.  
  970. Since RHIDE is now available also for Linux here some hints. In general
  971. you will get the best results when you have installed RHIDE as a setuid
  972. root program. I know, this might be a security problem but I have tried to
  973. make it as secure as possible. After getting acces to the screen and the
  974. keyboard RHIDE will switch back to your normal rights and does not use
  975. root rights any more. It does not write any data or modify any file on
  976. disk with root rights (except you are running as root of course).
  977.  
  978. The reason for this is the rudimentary support for fast access to the
  979. screen and the totally hided acces to the keyboard in the Linux kernel.
  980. Additionally when you want to use the dual monitor debugging feature of
  981. RHIDE this is also needed, because RHIDE needs in that case access to the
  982. ports of your monochrome video card.
  983.  
  984. Running RHIDE under X-Window is not full supported (but it is possible).
  985. There are several reasons for this. The first is, that RHIDE uses in that
  986. case only terminal functions for input and output. That means it depends
  987. completetly on your terminfo database and these are (at least for me) in
  988. some cases totally wrong. You can see this mostly that RHIDE does not
  989. handle correct the keyboard. Other programs which use ncurses know this
  990. also and have there own hardcaded patches but I do not want to do so.
  991.  
  992. To fix the keyboard conflicts whenrunning in a xterm, I distribute little
  993. modified terminfo file `/usr/local/share/rhide/xterm-rhide' which you can
  994. place in `/usr/lib/terminfo/x' or when you have no root access you can
  995. place it also in `$HOME/.terminfo/x'.  And then to use this file simply
  996. set the environment variable to this new terminal with
  997.   export TERM=xterm-rhide
  998. before running RHIDE in the xterm.
  999.  
  1000. An other alternative is to run RHIDE in a rxvt terminal but there you have
  1001. to set also explicitely the TERM variable, because it is set mostly to
  1002. xterm-color.
  1003.   export TERM=rxvt
  1004.  
  1005. 
  1006. File: rhide.inf,  Node: General use of RHIDE,  Prev: Running under Linux,  Up: General information about how RHIDE works
  1007.  
  1008. 2.7 General use of RHIDE
  1009. ========================
  1010.  
  1011. * Menu:
  1012.  
  1013. * Creating a program::
  1014. * Creating a library::
  1015. * Saving/Loading the options::
  1016.  
  1017. 
  1018. File: rhide.inf,  Node: Creating a program,  Next: Creating a library,  Prev: General use of RHIDE,  Up: General use of RHIDE
  1019.  
  1020. 2.7.1 Creating a program
  1021. ------------------------
  1022.  
  1023. For creating a program, RHIDE allows you to define multiple source files
  1024. which should be compiled and linked to your final program. This is done by
  1025. creating a project. In this project you insert your source files (and not
  1026. all the include files).
  1027.  
  1028. After a source file (which is inserted in your project) compiled at least
  1029. once, RHIDE knows about all dependencies of this file, so this file will
  1030. be compiled again only, if one of the include files have changed.
  1031.  
  1032. * Menu:
  1033.  
  1034. * Creating a program without a project::
  1035.  
  1036. 
  1037. File: rhide.inf,  Node: Creating a program without a project,  Prev: Creating a program,  Up: Creating a program
  1038.  
  1039. 2.7.1.1 Creating a program without a project
  1040. ............................................
  1041.  
  1042. Because of many requests of users I made RHIDE to work also without using
  1043. a project. This may be good, if you have a single file, but if your
  1044. program should be build from more than one file I suggest you to use a
  1045. project.
  1046.  
  1047. If you have only one editor window opened, the name of the resulting
  1048. program is taken from the name of the source file by removing the suffix
  1049. and on DJGPP appending `.exe'.
  1050.  
  1051. If you have more than one files opened, I saw no other way for determining
  1052. the name of the produced program, than naming it `aout' (on DJGPP
  1053. `aout.exe').
  1054.  
  1055. 
  1056. File: rhide.inf,  Node: Creating a library,  Next: Saving/Loading the options,  Prev: Creating a program,  Up: General use of RHIDE
  1057.  
  1058. 2.7.2 Creating a library
  1059. ------------------------
  1060.  
  1061. You can also create libraries (a collection of object files, which can be
  1062. linked with other programs) with RHIDE. The way for doing this is very
  1063. simple. Because RHIDE knows about the meaning of file suffixes, you can
  1064. change the name of the main target (*Note Main targetname::) to have a
  1065. suffix `.a' and that's all. Now RHIDE will run `ar' instead of linking.
  1066.  
  1067. 
  1068. File: rhide.inf,  Node: Saving/Loading the options,  Prev: Creating a library,  Up: General use of RHIDE
  1069.  
  1070. 2.7.3 Saving/Loading the options
  1071. --------------------------------
  1072.  
  1073. RHIDE supports two different ways for saving the options which you have
  1074. customized.
  1075.  
  1076. The first one (which I prefer) is the use of the so called default
  1077. project. This is the project `rhide.gpr' and must be located in the same
  1078. directory where `rhide.exe' is. To create or modify this default project
  1079. change to that directory (normally %DJDIR%/bin) and type there
  1080.  
  1081.      rhide rhide
  1082.  
  1083. Now change any options you want and exit RHIDE. From now on these options
  1084. are used for any newly created project or when running RHIDE without a
  1085. project.
  1086.  
  1087. The second way is to save your options to a project file (*Note Save
  1088. options::) or to load them from any existing project file (*Note Load
  1089. options::).
  1090.  
  1091. 
  1092. File: rhide.inf,  Node: Description of the pull-down menus,  Next: Detailed description of some parts of RHIDE,  Prev: General information about how RHIDE works,  Up: Top
  1093.  
  1094. 3. Description of the pull-down menus
  1095. *************************************
  1096.  
  1097. This chapter describes the pull-down menus and all their sub-menus.  The
  1098. main menu bar, the topmost line of the screen, is selected with the hotkey
  1099. <F10> or by clicking with the mouse at this line. You can walk through the
  1100. menu with the cursor keys and a menu entry is selected with <ENTER> or by
  1101. clicking with the mouse on it.
  1102.  
  1103. * Menu:
  1104.  
  1105. * System menu::
  1106. * File::
  1107. * Edit::
  1108. * Search::
  1109. * RUN::
  1110. * Compile menu::
  1111. * Debug::
  1112. * PROJECT::
  1113. * Options::
  1114. * Windows::
  1115. * Help submenu::
  1116.  
  1117. 
  1118. File: rhide.inf,  Node: System menu,  Next: File,  Prev: Description of the pull-down menus,  Up: Description of the pull-down menus
  1119.  
  1120. 3.1 System menu
  1121. ===============
  1122.  
  1123. This menu has its name only that one can speak about it. The symbol for
  1124. this menu is the leftmost symbol in the menu bar.  <Alt+SPACE> selects
  1125. this menu.
  1126.  
  1127. * Menu:
  1128.  
  1129. * About::
  1130. * Bug report::
  1131. * FSDB::
  1132. * GREP::
  1133. * GDB::
  1134. * Refresh Desktop::
  1135. * Calculator::
  1136. * Puzzle::
  1137. * Calender::
  1138. * ASCII table::
  1139.  
  1140. 
  1141. File: rhide.inf,  Node: About,  Next: Bug report,  Prev: System menu,  Up: System menu
  1142.  
  1143. 3.1.1 About
  1144. -----------
  1145.  
  1146. This brings up a window with information about the author and the version
  1147. of RHIDE.
  1148.  
  1149. 
  1150. File: rhide.inf,  Node: Bug report,  Next: FSDB,  Prev: About,  Up: System menu
  1151.  
  1152. 3.1.2 Bug report
  1153. ----------------
  1154.  
  1155. This menu entry opens an editor with some important information which
  1156. should be part of a bug report and where you can describe the problem.
  1157.  
  1158. 
  1159. File: rhide.inf,  Node: FSDB,  Next: GREP,  Prev: Bug report,  Up: System menu
  1160.  
  1161. 3.1.3 FSDB
  1162. ----------
  1163.  
  1164. With this menu item you can call the FSDB debugger, which comes with
  1165. DJGPP. But remember, this runs the debugger as an external program and it
  1166. is not integrated in RHIDE.
  1167.  
  1168. 
  1169. File: rhide.inf,  Node: GREP,  Next: GDB,  Prev: FSDB,  Up: System menu
  1170.  
  1171. 3.1.4 GREP
  1172. ----------
  1173.  
  1174. This is a very useful function. You can type the arguments for grep in the
  1175. input line, which will be shown, and after this the program grep is
  1176. called. The messages from grep are redirected to the message window (*Note
  1177. Message window::).
  1178.  
  1179. 
  1180. File: rhide.inf,  Node: GDB,  Next: Refresh Desktop,  Prev: GREP,  Up: System menu
  1181.  
  1182. 3.1.5 GDB
  1183. ---------
  1184.  
  1185. This is analog to the call of FSDB (*Note FSDB::).
  1186.  
  1187. 
  1188. File: rhide.inf,  Node: Refresh Desktop,  Next: Calculator,  Prev: GDB,  Up: System menu
  1189.  
  1190. 3.1.6 Refresh Desktop
  1191. ---------------------
  1192.  
  1193. This function is sometimes useful, if you had run your program and it
  1194. wrote some things to the screen (for redirecting `stdout' and `stderr'
  1195. from your program to a window in RHIDE (*Note Preferences::)).
  1196.  
  1197. 
  1198. File: rhide.inf,  Node: Calculator,  Next: Puzzle,  Prev: Refresh Desktop,  Up: System menu
  1199.  
  1200. 3.1.7 Calculator
  1201. ----------------
  1202.  
  1203. This brings up a dialog, where you can do some calculations. This dialog
  1204. is similar to the evaluate dialog (*Note Evaluate/Modify::), but it uses
  1205. not the feature of GDB, but it is a separate calculator.  For more
  1206. information see *Note Documentation for the editor: (editor)Calculator,
  1207.  
  1208. There can be used also some of the standard functions like `log', `sin'
  1209. and so on and it can convert also integer values between different bases
  1210. (`hex', `oct', `dec').
  1211.  
  1212. 
  1213. File: rhide.inf,  Node: Puzzle,  Next: Calender,  Prev: Calculator,  Up: System menu
  1214.  
  1215. 3.1.8 Puzzle
  1216. ------------
  1217.  
  1218. This will open a small window, where you can play a little puzzle game.
  1219. The "stones" are moved with the cursor keys or by clicking with the mouse
  1220. on it.
  1221.  
  1222. 
  1223. File: rhide.inf,  Node: Calender,  Next: ASCII table,  Prev: Puzzle,  Up: System menu
  1224.  
  1225. 3.1.9 Calender
  1226. --------------
  1227.  
  1228. This will open a little calender. With the cursor keys <Up> and <Down> you
  1229. can switch to the next/previous month or click with the mouse on the small
  1230. symbols in the upper corners.
  1231.  
  1232. 
  1233. File: rhide.inf,  Node: ASCII table,  Prev: Calender,  Up: System menu
  1234.  
  1235. 3.1.10 ASCII table
  1236. ------------------
  1237.  
  1238. This will open a window with all the ASCII characters. Move around with
  1239. the cursor keys or press any key to select any wanted character.  In the
  1240. bottom line you will see the the character and the value of it (decimal
  1241. and hexadecimal). The decimal value can be used to create that character
  1242. for instance in the editor by holding the <Alt> key down and typing the
  1243. value on the numeric key pad.
  1244.  
  1245. 
  1246. File: rhide.inf,  Node: File,  Next: Edit,  Prev: System menu,  Up: Description of the pull-down menus
  1247.  
  1248. 3.2 File
  1249. ========
  1250.  
  1251. In this menu you can find functions, which deal with files, like open,
  1252. close, save and so on.
  1253.  
  1254. * Menu:
  1255.  
  1256. * Open::
  1257. * New::
  1258. * Save::
  1259. * Save as::
  1260. * Save all::
  1261. * DOS Shell::
  1262. * Exit::
  1263.  
  1264. 
  1265. File: rhide.inf,  Node: Open,  Next: New,  Prev: File,  Up: File
  1266.  
  1267. 3.2.1 Open
  1268. ----------
  1269.  
  1270. Brings up the file-open dialog, where you can select a file to open
  1271. (hotkey <F3> ). This dialog contains an input line for the filename, a
  1272. list of filenames, an information window and the buttons for opening and
  1273. canceling.
  1274.  
  1275. In the filename input line you can type directly the file, which you want
  1276. to open or you can type any mask to list only some files. The default mask
  1277. is `*.cc', but you can change this to anything and your last typed mask is
  1278. stored as the default mask for the next use. There is also a history of
  1279. your previous typed inputs available. This is selected when you hit the
  1280. down key or click at the small symbol at the end of the input line with
  1281. your mouse.
  1282.  
  1283. The list of filenames shows all the files that correspond to the mask.  If
  1284. this list is selected you can choose a file with the cursor keys, or you
  1285. can type the first letters of the filename you want, and the bar is
  1286. located at the first file, which has these letters as the first
  1287. characters. To open the file simply press <ENTER> or double click with the
  1288. mouse on it.
  1289.  
  1290. Below the list of filenames there is a small window with information about
  1291. the selected file (complete path, size, modification time).
  1292.  
  1293. To leave the dialog without opening a file press <ESC> .
  1294.  
  1295. 
  1296. File: rhide.inf,  Node: New,  Next: Save,  Prev: Open,  Up: File
  1297.  
  1298. 3.2.2 New
  1299. ---------
  1300.  
  1301. This is the menu entry for creating a new file to edit. This file gets the
  1302. title 'Untitled'. If you save or close it, you will be prompted for a new
  1303. name of this file by opening the file-open dialog.
  1304.  
  1305. 
  1306. File: rhide.inf,  Node: Save,  Next: Save as,  Prev: New,  Up: File
  1307.  
  1308. 3.2.3 Save
  1309. ----------
  1310.  
  1311. Save the file in the current editor-window to disk. If the name of the
  1312. current file is 'Untitled' you will be prompted for a new name. <F2> is
  1313. the hotkey for this function.  The modification of the file on disk is set
  1314. to the time of the last modification of this file and not to the time when
  1315. saving to disk.
  1316.  
  1317. If the file was not modified, it is not saved!!
  1318.  
  1319. 
  1320. File: rhide.inf,  Node: Save as,  Next: Save all,  Prev: Save,  Up: File
  1321.  
  1322. 3.2.4 Save as
  1323. -------------
  1324.  
  1325. Save the file in the current editor-window to disk under a different name,
  1326. for which you will be prompted. For choosing the new name the file-open
  1327. dialog will be opened.
  1328.  
  1329. 
  1330. File: rhide.inf,  Node: Save all,  Next: DOS Shell,  Prev: Save as,  Up: File
  1331.  
  1332. 3.2.5 Save all
  1333. --------------
  1334.  
  1335. Save all the editor files to disk. If they are not modified, they will not
  1336. be saved.
  1337.  
  1338. 
  1339. File: rhide.inf,  Node: DOS Shell,  Next: Exit,  Prev: Save all,  Up: File
  1340.  
  1341. 3.2.6 DOS Shell
  1342. ---------------
  1343.  
  1344. This executes a DOS-Shell. This is done by calling the program, which is
  1345. set in the environment variable COMSPEC. If this variable does not exist,
  1346. the program `c:/command.com' is executed.  To return to the IDE type
  1347. `exit' at the DOS-prompt. Before calling DOS, the program does a *Save
  1348. all* (*Note Save all::) automatically.
  1349.  
  1350. 
  1351. File: rhide.inf,  Node: Exit,  Prev: DOS Shell,  Up: File
  1352.  
  1353. 3.2.7 Exit
  1354. ----------
  1355.  
  1356. Here you can quit the IDE. If there are any unsaved editor-files, you will
  1357. be prompted for saving them. (<Alt+X> is the hotkey.)
  1358.  
  1359. 
  1360. File: rhide.inf,  Node: Edit,  Next: Search,  Prev: File,  Up: Description of the pull-down menus
  1361.  
  1362. 3.3 Edit
  1363. ========
  1364.  
  1365. In this menu you can activate functions, which are related to the
  1366. integrated editor. Most of them have a hotkey.
  1367.  
  1368. * Menu:
  1369.  
  1370. * Undo::
  1371. * Redo::
  1372. * Cut::
  1373. * Copy::
  1374. * Paste::
  1375. * Show Clipboard::
  1376. * Clear::
  1377. * Copy to Windows clipboard::
  1378. * Paste from Windows clipboard::
  1379. * Expand all tabs::
  1380. * Compact text::
  1381. * Macro::
  1382.  
  1383. 
  1384. File: rhide.inf,  Node: Undo,  Next: Redo,  Prev: Edit,  Up: Edit
  1385.  
  1386. 3.3.1 Undo
  1387. ----------
  1388.  
  1389. This undoes your last change in the current editor-window.  <Alt+Backspace>
  1390. is the hotkey for this function.
  1391.  
  1392. 
  1393. File: rhide.inf,  Node: Redo,  Next: Cut,  Prev: Undo,  Up: Edit
  1394.  
  1395. 3.3.2 Redo
  1396. ----------
  1397.  
  1398. This does the reverse to undo (*Note Undo::). That means, it is the undo
  1399. of the undo.
  1400.  
  1401. 
  1402. File: rhide.inf,  Node: Cut,  Next: Copy,  Prev: Redo,  Up: Edit
  1403.  
  1404. 3.3.3 Cut
  1405. ---------
  1406.  
  1407. This *moves* the selected text in the current editor-window to the
  1408. clipboard. (<Shift+Del> is the hotkey.)
  1409.  
  1410. 
  1411. File: rhide.inf,  Node: Copy,  Next: Paste,  Prev: Cut,  Up: Edit
  1412.  
  1413. 3.3.4 Copy
  1414. ----------
  1415.  
  1416. This *copys* the selected text in the current editor-window to the
  1417. clipboard. (<Ctrl+Ins> is the hotkey.)
  1418.  
  1419. 
  1420. File: rhide.inf,  Node: Paste,  Next: Show Clipboard,  Prev: Copy,  Up: Edit
  1421.  
  1422. 3.3.5 Paste
  1423. -----------
  1424.  
  1425. This inserts the selected text in the clipboard in the current
  1426. editor-window at the current cursor-position. (<Shift+Ins> is the hotkey.)
  1427.  
  1428. 
  1429. File: rhide.inf,  Node: Show Clipboard,  Next: Clear,  Prev: Paste,  Up: Edit
  1430.  
  1431. 3.3.6 Show Clipboard
  1432. --------------------
  1433.  
  1434. This brings up an editor-window with the contents of the clipboard. The
  1435. contents of the clipboard will be lost, if you exit the IDE.
  1436.  
  1437. 
  1438. File: rhide.inf,  Node: Clear,  Next: Copy to Windows clipboard,  Prev: Show Clipboard,  Up: Edit
  1439.  
  1440. 3.3.7 Clear
  1441. -----------
  1442.  
  1443. This erases the selected text in the current editor-window.
  1444.  
  1445. 
  1446. File: rhide.inf,  Node: Copy to Windows clipboard,  Next: Paste from Windows clipboard,  Prev: Clear,  Up: Edit
  1447.  
  1448. 3.3.8 Copy to Windows clipboard
  1449. -------------------------------
  1450.  
  1451. This is the same function as *Note Copy:: but it uses the Windows
  1452. clipboard and works only, when running under Windows.
  1453.  
  1454. 
  1455. File: rhide.inf,  Node: Paste from Windows clipboard,  Next: Expand all tabs,  Prev: Copy to Windows clipboard,  Up: Edit
  1456.  
  1457. 3.3.9 Paste from Windows clipboard
  1458. ----------------------------------
  1459.  
  1460. This is the same function as *Note Paste:: but it uses the Windows
  1461. clipboard and works only, when running under Windows.
  1462.  
  1463. 
  1464. File: rhide.inf,  Node: Expand all tabs,  Next: Compact text,  Prev: Paste from Windows clipboard,  Up: Edit
  1465.  
  1466. 3.3.10 Expand all tabs
  1467. ----------------------
  1468.  
  1469. When selecting this menu entry, all real tabs (all characters with the
  1470. code `0x9') are expanded to as many spaces as defined as the tabsize
  1471. (*Note Preferences::).
  1472.  
  1473. 
  1474. File: rhide.inf,  Node: Compact text,  Next: Macro,  Prev: Expand all tabs,  Up: Edit
  1475.  
  1476. 3.3.11 Compact text
  1477. -------------------
  1478.  
  1479. This function is the reverse to (*Note Expand all tabs::). That means,
  1480. RHIDE tries to make as many as possible spaces (count is taken from the
  1481. defined tabsize) to real tabs.
  1482.  
  1483. 
  1484. File: rhide.inf,  Node: Macro,  Prev: Compact text,  Up: Edit
  1485.  
  1486. 3.3.12 Macro
  1487. ------------
  1488.  
  1489. Here is a submenu for handling macros. Currently there is only one
  1490. recordable macro available and it is NOT stored anywhere. That means it is
  1491. lost when you leave RHIDE and restart it. There is another way of using
  1492. macros (*Note Defining macros::).
  1493.  
  1494. * Menu:
  1495.  
  1496. * Record::
  1497. * Stop::
  1498. * Play::
  1499.  
  1500. 
  1501. File: rhide.inf,  Node: Record,  Next: Stop,  Prev: Macro,  Up: Macro
  1502.  
  1503. 3.3.12.1 Record
  1504. ...............
  1505.  
  1506. After selecting this function, all your keystrokes are recorded to
  1507. reproduce them later.
  1508.  
  1509. (<Shift+F10> is the hotkey.)
  1510.  
  1511. 
  1512. File: rhide.inf,  Node: Stop,  Next: Play,  Prev: Record,  Up: Macro
  1513.  
  1514. 3.3.12.2 Stop
  1515. .............
  1516.  
  1517. This stops the recording of a macro.
  1518.  
  1519. (<Alt+F10> is the hotkey.)
  1520.  
  1521. 
  1522. File: rhide.inf,  Node: Play,  Prev: Stop,  Up: Macro
  1523.  
  1524. 3.3.12.3 Play
  1525. .............
  1526.  
  1527. This executes the recorded macro.
  1528.  
  1529. (<Ctrl+F10> is the hotkey.)
  1530.  
  1531. 
  1532. File: rhide.inf,  Node: Search,  Next: RUN,  Prev: Edit,  Up: Description of the pull-down menus
  1533.  
  1534. 3.4 Search
  1535. ==========
  1536.  
  1537. Menu for searching and replacing strings in the editor-window. These
  1538. functions have also hotkeys.
  1539.  
  1540. * Menu:
  1541.  
  1542. * Find::
  1543. * Replace::
  1544. * Search again::
  1545. * Goto line::
  1546. * Jump to function::
  1547. * Next message::
  1548. * Previous message::
  1549.  
  1550. 
  1551. File: rhide.inf,  Node: Find,  Next: Replace,  Prev: Search,  Up: Search
  1552.  
  1553. 3.4.1 Find
  1554. ----------
  1555.  
  1556. Find a string in the current editor-window. You can type the string for
  1557. searching in an input line and you can also select, if the search is case
  1558. sensitive or not and to search for whole words only or not.
  1559.  
  1560. (<Ctrl+Q+F> is the hotkey.)
  1561.  
  1562. 
  1563. File: rhide.inf,  Node: Replace,  Next: Search again,  Prev: Find,  Up: Search
  1564.  
  1565. 3.4.2 Replace
  1566. -------------
  1567.  
  1568. Find and replace a string in the current editor-window. This works in the
  1569. same way like searching text, but additionally you can give a string, with
  1570. which the found text will be replaced.
  1571.  
  1572. (<Ctrl+Q+A> is the hotkey.)
  1573.  
  1574. 
  1575. File: rhide.inf,  Node: Search again,  Next: Goto line,  Prev: Replace,  Up: Search
  1576.  
  1577. 3.4.3 Search again
  1578. ------------------
  1579.  
  1580. This function repeats the last search or replace operation.
  1581.  
  1582. (<Ctrl+L> is the hotkey,)
  1583.  
  1584. 
  1585. File: rhide.inf,  Node: Goto line,  Next: Jump to function,  Prev: Search again,  Up: Search
  1586.  
  1587. 3.4.4 Goto line
  1588. ---------------
  1589.  
  1590. After prompting for a line number (with range checking), the cursor will
  1591. be located at this line.
  1592.  
  1593. (<Ctrl+J> is the hotkey.)
  1594.  
  1595. 
  1596. File: rhide.inf,  Node: Jump to function,  Next: Next message,  Prev: Goto line,  Up: Search
  1597.  
  1598. 3.4.5 Jump to function
  1599. ----------------------
  1600.  
  1601. With this feature you can easily jump to the source line of a function to
  1602. edit or see it. This is only a heuristic by parsing your source file and
  1603. does not take the information from the debugging symbols.
  1604.  
  1605. After selecting it you will get a dialog, from where you can select the
  1606. function to which you want to jump.
  1607.  
  1608. (<Alt+F2> is the hotkey.)
  1609.  
  1610. 
  1611. File: rhide.inf,  Node: Next message,  Next: Previous message,  Prev: Jump to function,  Up: Search
  1612.  
  1613. 3.4.6 Next message
  1614. ------------------
  1615.  
  1616. This selects the next message in the message window (*Note Message
  1617. window::), but only, if there is a next message available.
  1618.  
  1619. (<Alt+F8> is the hotkey.)
  1620.  
  1621. 
  1622. File: rhide.inf,  Node: Previous message,  Prev: Next message,  Up: Search
  1623.  
  1624. 3.4.7 Previous message
  1625. ----------------------
  1626.  
  1627. This selects the previous message in the message window (*Note Message
  1628. window::), but only, if there is a previous message available.
  1629.  
  1630. (<Alt+F7> is the hotkey.)
  1631.  
  1632. 
  1633. File: rhide.inf,  Node: RUN,  Next: Compile menu,  Prev: Search,  Up: Description of the pull-down menus
  1634.  
  1635. 3.5 Run
  1636. =======
  1637.  
  1638. In this menu you find the functions for running your program.
  1639.  
  1640. * Menu:
  1641.  
  1642. * Run::
  1643. * Step over::
  1644. * Trace into::
  1645. * Go to cursor::
  1646. * Program reset::
  1647. * Arguments::
  1648.  
  1649. 
  1650. File: rhide.inf,  Node: Run,  Next: Step over,  Prev: RUN,  Up: RUN
  1651.  
  1652. 3.5.1 Run
  1653. ---------
  1654.  
  1655. If your project-target is an executable, this will be run after doing a
  1656. Make (*Note Make::). <Ctrl+F9> is the hotkey. If the build was not
  1657. successful, the program will not be started. The debugging functions are
  1658. only available if `-g' was used for compiling.  (*Note Syntax of
  1659. arguments::)
  1660.  
  1661. 
  1662. File: rhide.inf,  Node: Step over,  Next: Trace into,  Prev: Run,  Up: RUN
  1663.  
  1664. 3.5.2 Step over
  1665. ---------------
  1666.  
  1667. This executes the code for exactly one source line. If there is a function
  1668. call at the current line this function is executed at once without
  1669. stepping through this function.
  1670.  
  1671. When using the <Shift>-key, RHIDE will NOT switch to the user screen when
  1672. executing the debuggee.
  1673.  
  1674. (hotkey <F8> or hotkey <Shift+F8> may be used.)
  1675.  
  1676. 
  1677. File: rhide.inf,  Node: Trace into,  Next: Go to cursor,  Prev: Step over,  Up: RUN
  1678.  
  1679. 3.5.3 Trace into
  1680. ----------------
  1681.  
  1682. This is the same as Step over (*Note Step over::), except when there is a
  1683. function call at the current line and for this function debugging
  1684. information is available, RHIDE steps into this function.
  1685.  
  1686. When using the <Shift>-key, RHIDE will NOT switch to the user screen when
  1687. executing the debuggee.
  1688.  
  1689. (hotkey <F7> or hotkey <Shift+F7> may be used.)
  1690.  
  1691. 
  1692. File: rhide.inf,  Node: Go to cursor,  Next: Program reset,  Prev: Trace into,  Up: RUN
  1693.  
  1694. 3.5.4 Go to cursor
  1695. ------------------
  1696.  
  1697. This will execute your program until the execution comes to the line,
  1698. where the cursor is. If the program is stopped at any other place by a
  1699. breakpoint the program will stop there and not at the cursor position.
  1700.  
  1701. When using the <Shift>-key, RHIDE will NOT switch to the user screen when
  1702. executing the debuggee.
  1703.  
  1704. (hotkey <F4> or hotkey <Shift+F4> may be used.)
  1705.  
  1706. 
  1707. File: rhide.inf,  Node: Program reset,  Next: Arguments,  Prev: Go to cursor,  Up: RUN
  1708.  
  1709. 3.5.5 Program reset
  1710. -------------------
  1711.  
  1712. This 'kills' your debuggee at the current execution point without
  1713. executing any other code of your program
  1714.  
  1715. (<Ctrl+F2> is the hotkey.)
  1716.  
  1717. * Menu:
  1718.  
  1719. * Main function::
  1720.  
  1721. 
  1722. File: rhide.inf,  Node: Main function,  Prev: Program reset,  Up: Program reset
  1723.  
  1724. 3.5.5.1 Main function
  1725. .....................
  1726.  
  1727. Here you can define the name of the `main' function of your program. This
  1728. is needed at least when debugging programs, (like written with GNU Pascal
  1729. or GNU Fortran), where the function of your main program is not `main'.
  1730.  
  1731. But you can use this also to debug your program at locations, which are
  1732. executed normally before `main' is called (for instance the global
  1733. constructors).
  1734.  
  1735. 
  1736. File: rhide.inf,  Node: Arguments,  Prev: Program reset,  Up: RUN
  1737.  
  1738. 3.5.6 Arguments
  1739. ---------------
  1740.  
  1741. Here you can type the arguments, which will be passed to your program when
  1742. you do a *run*. (*Note Run::) and (*Note Syntax of arguments::).
  1743.  
  1744. 
  1745. File: rhide.inf,  Node: Compile menu,  Next: Debug,  Prev: RUN,  Up: Description of the pull-down menus
  1746.  
  1747. 3.6 Compile menu
  1748. ================
  1749.  
  1750. Here are the functions to translate your source files and for updating your
  1751. project.
  1752.  
  1753. * Menu:
  1754.  
  1755. * Compile::
  1756. * Make::
  1757. * Link::
  1758. * Build all::
  1759.  
  1760. 
  1761. File: rhide.inf,  Node: Compile,  Next: Make,  Prev: Compile menu,  Up: Compile menu
  1762.  
  1763. 3.6.1 Compile
  1764. -------------
  1765.  
  1766. Compile the file in the current editor-window or the selected entry in the
  1767. project-window if you are there. The IDE chooses automatically the correct
  1768. compiler, depending on the suffix of the file.  (*Note Known suffixes::)
  1769.  
  1770. (<Alt+F9> is the hotkey.)
  1771.  
  1772. 
  1773. File: rhide.inf,  Node: Make,  Next: Link,  Prev: Compile,  Up: Compile menu
  1774.  
  1775. 3.6.2 Make
  1776. ----------
  1777.  
  1778. This makes your project up to date. It works like MAKE on commandline with
  1779. a makefile. <F9> is the hotkey. The dependencies are checked for each item
  1780. of the project. These dependencies are automatically generated, if you
  1781. compile a file within the IDE.
  1782.  
  1783. 
  1784. File: rhide.inf,  Node: Link,  Next: Build all,  Prev: Make,  Up: Compile menu
  1785.  
  1786. 3.6.3 Link
  1787. ----------
  1788.  
  1789. This function has two different results depending on the type of your
  1790. project. If your project is an executable (*Note Known suffixes::), the
  1791. linker is started. But if it is a library, all the object files are taken
  1792. to build a library.
  1793.  
  1794. 
  1795. File: rhide.inf,  Node: Build all,  Prev: Link,  Up: Compile menu
  1796.  
  1797. 3.6.4 Build all
  1798. ---------------
  1799.  
  1800. This builds the project completely new with compiling and linking all of
  1801. the project-items.
  1802.  
  1803. 
  1804. File: rhide.inf,  Node: Debug,  Next: PROJECT,  Prev: Compile menu,  Up: Description of the pull-down menus
  1805.  
  1806. 3.7 Debug
  1807. =========
  1808.  
  1809. This menu contains the functions for debugging your program. Most of them
  1810. have hotkeys and they are described in more detail later (*Note Debugging
  1811. with RHIDE::).
  1812.  
  1813. * Menu:
  1814.  
  1815. * Set/Reset Breakpoint::
  1816. * Evaluate/Modify::
  1817. * Watch an expression::
  1818. * Breakpoints::
  1819. * Disassembler window::
  1820. * Call stack::
  1821. * List of Functions::
  1822.  
  1823. 
  1824. File: rhide.inf,  Node: Set/Reset Breakpoint,  Next: Evaluate/Modify,  Prev: Debug,  Up: Debug
  1825.  
  1826. 3.7.1 Set/Reset Breakpoint
  1827. --------------------------
  1828.  
  1829. *Note Setting a breakpoint::
  1830.  
  1831. (<Ctrl+F8> is the hotkey.)
  1832.  
  1833. 
  1834. File: rhide.inf,  Node: Evaluate/Modify,  Next: Watch an expression,  Prev: Set/Reset Breakpoint,  Up: Debug
  1835.  
  1836. 3.7.2 Evaluate/Modify
  1837. ---------------------
  1838.  
  1839. *Note Evaluating the contents of variables::
  1840.  
  1841. (<Ctrl+F4> is the hotkey.)
  1842.  
  1843. 
  1844. File: rhide.inf,  Node: Watch an expression,  Next: Breakpoints,  Prev: Evaluate/Modify,  Up: Debug
  1845.  
  1846. 3.7.3 Watch an expression
  1847. -------------------------
  1848.  
  1849. *Note Watching the contents of variables::
  1850.  
  1851. (<Ctrl+F7> is the hotkey.)
  1852.  
  1853. 
  1854. File: rhide.inf,  Node: Breakpoints,  Next: Disassembler window,  Prev: Watch an expression,  Up: Debug
  1855.  
  1856. 3.7.4 Breakpoints
  1857. -----------------
  1858.  
  1859. *Note Modifying and setting a breakpoint::
  1860.  
  1861. 
  1862. File: rhide.inf,  Node: Disassembler window,  Next: Call stack,  Prev: Breakpoints,  Up: Debug
  1863.  
  1864. 3.7.5 Disassembler window
  1865. -------------------------
  1866.  
  1867. This opens a window, where you can see assembler instructions.  When you
  1868. are running the debugger, you will see the instructions at the current
  1869. execution point of your program.
  1870.  
  1871. You can step *Note Step over:: or trace *Note Trace into:: here in the
  1872. same way like in an editor window and you can also debug code, which has no
  1873. debugging information.
  1874.  
  1875. Additionally you can scroll here also forwards or backwards but scrolling
  1876. backwards is very hard to implememnt and so you will get when scrolling
  1877. backwards most of the time wrong output. Sorry for this, but until I find
  1878. more time to implement this better you have to live with it.
  1879.  
  1880. 
  1881. File: rhide.inf,  Node: Call stack,  Next: List of Functions,  Prev: Disassembler window,  Up: Debug
  1882.  
  1883. 3.7.6 Call stack
  1884. ----------------
  1885.  
  1886. This shows a window with a list of functions, from which the current
  1887. execution point in the debugged program is called. If you hit <Enter> on a
  1888. function which has line number debugging information, you will go to the
  1889. source line which is shown in the window.
  1890.  
  1891. (<Ctrl+F3> is the hotkey.)
  1892.  
  1893. 
  1894. File: rhide.inf,  Node: List of Functions,  Prev: Call stack,  Up: Debug
  1895.  
  1896. 3.7.7 List of Functions
  1897. -----------------------
  1898.  
  1899. This asks first for a regular expression to list only those functions of
  1900. your program, which match that expression. The syntax for such a regular
  1901. expression is a little bit different from the wildcards you are probably
  1902. knowing from MS-DOS.
  1903.  
  1904. If you want to get a list of all functions you should enter either nothing
  1905. (the default), or ".*", or "?*" (both without the double quotes).  The
  1906. expression "*" does NOT mean all function. In fact, your entry will be
  1907. interpreted as a regular expression.
  1908.  
  1909. After you have typed the expression and pressed <Enter>, you will get a
  1910. list of functions that match the regular expression and for which
  1911. debugging information is available.
  1912.  
  1913. This list is sorted by the name of the function and has three parts:
  1914.  
  1915. NAME | RETURN VALUE | FILE
  1916.  
  1917. You can walk through the list with the cursor keys or the mouse. If you hit
  1918. <Enter> or double click a function, you will go the the source code of
  1919. that function.
  1920.  
  1921. 
  1922. File: rhide.inf,  Node: PROJECT,  Next: Options,  Prev: Debug,  Up: Description of the pull-down menus
  1923.  
  1924. 3.8 Project
  1925. ===========
  1926.  
  1927. Here you can add or remove items to or from your project
  1928.  
  1929. * Menu:
  1930.  
  1931. * Open project::
  1932. * Close project::
  1933. * Add item::
  1934. * Delete item::
  1935. * Local options::
  1936. * Includes::
  1937. * Main targetname::
  1938. * Primary file::
  1939. * Clear dependencies::
  1940. * Delete rebuildable files::
  1941. * Write Makefile::
  1942.  
  1943. 
  1944. File: rhide.inf,  Node: Open project,  Next: Close project,  Prev: PROJECT,  Up: PROJECT
  1945.  
  1946. 3.8.1 Open project
  1947. ------------------
  1948.  
  1949. Here is the point to open a project. After selecting this menu item, the
  1950. file open dialog is opened to select a project. You can type the name of
  1951. the project or select one from the list.
  1952.  
  1953. If you open a project in another directory than the current, RHIDE will
  1954. change the current directory to this directory and then the project will
  1955. be opened.
  1956.  
  1957. If you type here a name of a project which does not exist, a new one is
  1958. created.
  1959.  
  1960. If no project was opened and you create a new project, all open desktop
  1961. files remain open, but they are not added to the project.  If a project
  1962. was opened, it will be automatically closed before the new project is
  1963. opened.
  1964.  
  1965. 
  1966. File: rhide.inf,  Node: Close project,  Next: Add item,  Prev: Open project,  Up: PROJECT
  1967.  
  1968. 3.8.2 Close project
  1969. -------------------
  1970.  
  1971. This closes the currently opened project and closes all files, which are
  1972. on the desktop.
  1973.  
  1974. 
  1975. File: rhide.inf,  Node: Add item,  Next: Delete item,  Prev: Close project,  Up: PROJECT
  1976.  
  1977. 3.8.3 Add item
  1978. --------------
  1979.  
  1980. A dialog will be opened, from where you can choose your file to add to
  1981. your project. If you are in the project window (*Note Project window::)
  1982. you can use the <Ins> key to activate this function within the project
  1983. window.
  1984.  
  1985. Currently it is impossible to use relative or absolute paths as part of a
  1986. project item. If you have your files in several directories, you have to
  1987. setup either the search path for source files or you have to create for
  1988. each directory a library that can be included in your project.
  1989.  
  1990. 
  1991. File: rhide.inf,  Node: Delete item,  Next: Local options,  Prev: Add item,  Up: PROJECT
  1992.  
  1993. 3.8.4 Delete item
  1994. -----------------
  1995.  
  1996. This will remove the selected item in the project-window from your
  1997. project. If you are in the project window (*Note Project window::) you can
  1998. use the <Del> key to activate this function.
  1999.  
  2000. 
  2001. File: rhide.inf,  Node: Local options,  Next: Includes,  Prev: Delete item,  Up: PROJECT
  2002.  
  2003. 3.8.5 Local options
  2004. -------------------
  2005.  
  2006. Here you can give the selected project-item options for compiling, which
  2007. will be in effect only for this item. If you are in the project window
  2008. (*Note Project window::) you can use <Ctrl+O> to activate this function.
  2009. The options you give here are passed to GCC only, when compiling this file.
  2010. For more details see (*Note Local options for a project item::).
  2011.  
  2012. 
  2013. File: rhide.inf,  Node: Includes,  Next: Main targetname,  Prev: Local options,  Up: PROJECT
  2014.  
  2015. 3.8.6 Includes
  2016. --------------
  2017.  
  2018. This shows the dependencies for the selected item in the project window.
  2019. You can use the hotkey <Ctrl+I> in the project window.  (*Note Project
  2020. window::)
  2021.  
  2022. 
  2023. File: rhide.inf,  Node: Main targetname,  Next: Primary file,  Prev: Includes,  Up: PROJECT
  2024.  
  2025. 3.8.7 Main targetname
  2026. ---------------------
  2027.  
  2028. Here you can change the name of your main target. The main target is either
  2029. an executable file or a library. RHIDE selects the type of the main target
  2030. from the suffix of this name. If it has no suffix or the suffix `.exe', an
  2031. executable will be built. If it has the suffix `.a', a library will be
  2032. created.
  2033.  
  2034. Remember when you give it no suffix, both, the COFF image and the `.exe'
  2035. file will created. If it has the `.exe' suffix, only the `.exe' file is
  2036. created.
  2037.  
  2038. 
  2039. File: rhide.inf,  Node: Primary file,  Next: Clear dependencies,  Prev: Main targetname,  Up: PROJECT
  2040.  
  2041. 3.8.8 Primary file
  2042. ------------------
  2043.  
  2044. Here you can give the primary source file, when you want to use the
  2045. 'automake' feature of GPC. If you type a source name here, RHIDE assumes
  2046. that your program is written in Pascal and does NOT check any dependencies
  2047. of the project, because this is done automatically by GPC with the
  2048. `--automake' option.
  2049.  
  2050. If you don't want to use the 'automake' feature of GPC, even when building
  2051. a Pascal program, give here an empty name, which is the default.
  2052.  
  2053. 
  2054. File: rhide.inf,  Node: Clear dependencies,  Next: Delete rebuildable files,  Prev: Primary file,  Up: PROJECT
  2055.  
  2056. 3.8.9 Clear dependencies
  2057. ------------------------
  2058.  
  2059. This function removes all internal stored dependencies. The files are not
  2060. removed. This is useful when you want to create a makefile (*Note Write
  2061. Makefile::) and you do not want to include all the absolute filenames for
  2062. the dependencies (mostly the include files).
  2063.  
  2064. This function is a relict from earlier versions of RHIDE, but I have not
  2065. disabled it.
  2066.  
  2067. 
  2068. File: rhide.inf,  Node: Delete rebuildable files,  Next: Write Makefile,  Prev: Clear dependencies,  Up: PROJECT
  2069.  
  2070. 3.8.10 Delete rebuildable files
  2071. -------------------------------
  2072.  
  2073. This function includes the function of clearing the dependencies (*Note
  2074. Clear dependencies::) and removes in addition to it all the files, which
  2075. can be rebuild within RHIDE.
  2076.  
  2077. 
  2078. File: rhide.inf,  Node: Write Makefile,  Prev: Delete rebuildable files,  Up: PROJECT
  2079.  
  2080. 3.8.11 Write Makefile
  2081. ---------------------
  2082.  
  2083. Here you can create a makefile that contains all the rules to build the
  2084. project from the command line without starting RHIDE. For this you need
  2085. the GNU make, because the generated makefile uses the features of GNU make
  2086. very extensively.
  2087.  
  2088. If you have used environment variables in your search paths (*Note
  2089. Directories::), these are not expanded in the generated makefile.  But all
  2090. variables you used will be defined at the beginning of the makefile with
  2091. their current value.
  2092.  
  2093. 
  2094. File: rhide.inf,  Node: Options,  Next: Windows,  Prev: PROJECT,  Up: Description of the pull-down menus
  2095.  
  2096. 3.9 Options
  2097. ===========
  2098.  
  2099. This menu contains many submenus for anything you can customize.
  2100.  
  2101. * Menu:
  2102.  
  2103. * Directories::
  2104. * C/C++-Compiler::
  2105. * Libraries::
  2106. * Linker options::
  2107. * Compiler options::
  2108. * Environment::
  2109. * Save options::
  2110. * Load options::
  2111.  
  2112. 
  2113. File: rhide.inf,  Node: Directories,  Next: C/C++-Compiler,  Prev: Options,  Up: Options
  2114.  
  2115. 3.9.1 Directories
  2116. -----------------
  2117.  
  2118. Here you can define all of the paths, where RHIDE and the compilers finds
  2119. the needed files and where to store some files.
  2120.  
  2121. All the paths you can define in the several entries have the form of a
  2122. semicolon separated list of directories, just like your environment
  2123. variable %PATH%. You can use forward slashes and back slashes, but they
  2124. are all converted to forward slashes by RHIDE. You can also use
  2125. environment variables as part of your paths. The syntax of such a variable
  2126. is that of a GNU makefile. If you want to use the variable %DJDIR%, you
  2127. must type $(DJDIR).
  2128.  
  2129. * Menu:
  2130.  
  2131. * Include directories::
  2132. * Library directories::
  2133. * Object directories::
  2134. * Sources directories::
  2135. * Standard headers::
  2136.  
  2137. 
  2138. File: rhide.inf,  Node: Include directories,  Next: Library directories,  Prev: Directories,  Up: Directories
  2139.  
  2140. 3.9.1.1 Include directories
  2141. ...........................
  2142.  
  2143. This is the list of directories, where GCC looks for include files and
  2144. RHIDE searches in this directory (after looking in the current directory)
  2145. for header files.
  2146.  
  2147. 
  2148. File: rhide.inf,  Node: Library directories,  Next: Object directories,  Prev: Include directories,  Up: Directories
  2149.  
  2150. 3.9.1.2 Library directories
  2151. ...........................
  2152.  
  2153. This is the list of directories, where GCC looks for libraries when
  2154. linking.  RHIDE searches in this directories (after looking in the current
  2155. directory) for libraries, if you have included them directly as a project
  2156. item.
  2157.  
  2158. 
  2159. File: rhide.inf,  Node: Object directories,  Next: Sources directories,  Prev: Library directories,  Up: Directories
  2160.  
  2161. 3.9.1.3 Object directories
  2162. ..........................
  2163.  
  2164. This is the list of directories where RHIDE looks for object files.  If
  2165. you type here only one directory this has also the effect that the object
  2166. files, which are compiled, are stored in this directory.
  2167.  
  2168. 
  2169. File: rhide.inf,  Node: Sources directories,  Next: Standard headers,  Prev: Object directories,  Up: Directories
  2170.  
  2171. 3.9.1.4 Sources directories
  2172. ...........................
  2173.  
  2174. This is the list of directories, where RHIDE looks for the source files
  2175. (after looking in the current directory).
  2176.  
  2177. 
  2178. File: rhide.inf,  Node: Standard headers,  Prev: Sources directories,  Up: Directories
  2179.  
  2180. 3.9.1.5 Standard headers
  2181. ........................
  2182.  
  2183. Define here a space separated list of directories where your standard
  2184. headers are. Header files found in these directories are not added to the
  2185. list of dependencies which is automatically generated when compiling a
  2186. C/C++ source file.
  2187.  
  2188. 
  2189. File: rhide.inf,  Node: C/C++-Compiler,  Next: Libraries,  Prev: Directories,  Up: Options
  2190.  
  2191. 3.9.2 C/C++-Compiler
  2192. --------------------
  2193.  
  2194. In this submenu you can change most flags, which have to do when compiling
  2195. C or C++ files or better for the options of all the currently supported
  2196. compilers.
  2197.  
  2198. * Menu:
  2199.  
  2200. * Warnings::
  2201. * Optimizations::
  2202. * Debugging::
  2203. * C options::
  2204. * CXX options::
  2205. * Pascal options::
  2206. * Fortran options::
  2207. * How to toggle these flags::
  2208.  
  2209. 
  2210. File: rhide.inf,  Node: Warnings,  Next: Optimizations,  Prev: C/C++-Compiler,  Up: C/C++-Compiler
  2211.  
  2212. 3.9.2.1 Warnings
  2213. ................
  2214.  
  2215. This opens a dialog where you can enable or disable most of the flags for
  2216. generating or suppressing warnings when you compile a C or C++ file.
  2217. (*Note How to toggle these flags::).
  2218.  
  2219. For a detailed description of the available flags see *Note Warning
  2220. Options: (gcc)Warning Options.
  2221.  
  2222. 
  2223. File: rhide.inf,  Node: Optimizations,  Next: Debugging,  Prev: Warnings,  Up: C/C++-Compiler
  2224.  
  2225. 3.9.2.2 Optimizations
  2226. .....................
  2227.  
  2228. This opens a dialog where you can customize how the compiler optimizes
  2229. your code.  (*Note How to toggle these flags::).
  2230.  
  2231. For a detailed description of the available flags see *Note Optimize
  2232. Options: (gcc)Optimize Options.
  2233.  
  2234. 
  2235. File: rhide.inf,  Node: Debugging,  Next: C options,  Prev: Optimizations,  Up: C/C++-Compiler
  2236.  
  2237. 3.9.2.3 Debugging
  2238. .................
  2239.  
  2240. This opens a dialog where you can customize the amount of debugging
  2241. information the compiler should include in object files.  (*Note How to
  2242. toggle these flags::).
  2243.  
  2244. For a detailed description of the available flags see *Note Debugging
  2245. Options: (gcc)Debugging Options.
  2246.  
  2247. 
  2248. File: rhide.inf,  Node: C options,  Next: CXX options,  Prev: Debugging,  Up: C/C++-Compiler
  2249.  
  2250. 3.9.2.4 C options
  2251. .................
  2252.  
  2253. This opens a dialog where you can select flags that are only passed to GCC
  2254. when compiling C files.  (*Note How to toggle these flags::).
  2255.  
  2256. For a detailed description of the available flags see *Note C Dialect
  2257. Options: (gcc)C Dialect Options.
  2258.  
  2259. 
  2260. File: rhide.inf,  Node: CXX options,  Next: Pascal options,  Prev: C options,  Up: C/C++-Compiler
  2261.  
  2262. 3.9.2.5 CXX options
  2263. ...................
  2264.  
  2265. This opens a dialog where you can select flags which are only passed to
  2266. GCC when compiling C++ files.  (*Note How to toggle these flags::).
  2267.  
  2268. For a detailed description of the available flags see *Note C++ Dialect
  2269. Options: (gcc)C++ Dialect Options.
  2270.  
  2271. 
  2272. File: rhide.inf,  Node: Pascal options,  Next: Fortran options,  Prev: CXX options,  Up: C/C++-Compiler
  2273.  
  2274. 3.9.2.6 Pascal options
  2275. ......................
  2276.  
  2277. This opens a dialog where you can select flags which are only passed to
  2278. GPC when compiling Pascal files.  (*Note How to toggle these flags::).
  2279.  
  2280. For a detailed description of the available flags see *Note Pascal Dialect
  2281. Options: (gpc)Pascal Dialect Options.
  2282.  
  2283. 
  2284. File: rhide.inf,  Node: Fortran options,  Next: How to toggle these flags,  Prev: Pascal options,  Up: C/C++-Compiler
  2285.  
  2286. 3.9.2.7 Fortran options
  2287. .......................
  2288.  
  2289. This opens a dialog where you can select flags which are only passed to
  2290. g77 when compiling Fortran files.  (*Note How to toggle these flags::),
  2291.  
  2292. For a detailed description of the available flags see *Note Fortran
  2293. Dialect Options: (g77)Fortran Dialect Options.
  2294.  
  2295. 
  2296. File: rhide.inf,  Node: How to toggle these flags,  Prev: Fortran options,  Up: C/C++-Compiler
  2297.  
  2298. 3.9.2.8 How to toggle these flags
  2299. .................................
  2300.  
  2301. The options in the dialogs for Warnings, Debugging, C-flags and CXX-Flags
  2302. are selected with the cursor-keys or the mouse and are activated or
  2303. deactivated by pressing <SPACE> or by double-clicking with the mouse at
  2304. the first field of the option. If an option can take an additional value
  2305. or string, an inputbox will be opened, and you can type them there. If the
  2306. additional value is optional, you can leave this input-box by pressing
  2307. <ESC> or activating the *Cancel* button and no value, or the previous one
  2308. will be appended to this option.
  2309.  
  2310. 
  2311. File: rhide.inf,  Node: Libraries,  Next: Linker options,  Prev: C/C++-Compiler,  Up: Options
  2312.  
  2313. 3.9.3 Libraries
  2314. ---------------
  2315.  
  2316. Here you can tell the linker which libraries will be linked in your
  2317. program. At this time the number of additional libraries is limited to 16.
  2318. If you need more, you have to type them manually (*Note Linker options::).
  2319.  
  2320. In the input-fields of the dialog you only have to type the part of your
  2321. library name after `lib' and before `.a'. Example: If your library is
  2322. `libtv.a' put only `tv' there. You can switch between the input lines for
  2323. the libraries using <Tab> or <Down Arrow> (next field) or <Shift+Tab> or
  2324. <Up Arrow> (previous field). If you have typed your libraries you can
  2325. activate or disable them by switching the checkbox before the name on or
  2326. off. This is done by pressing <Alt> and the corresponding digit or letter
  2327. of the checkbox at the same time or by clicking with the mouse.
  2328.  
  2329. Normally RHIDE checks the types of your source-files and automatically
  2330. adds some standard libraries, corresponding to these source-files.  These
  2331. are for C++ files the library `libiostream.a' and for Objective C files
  2332. the `libobjc.a' library.  If you want to disable this, deactivate the *Use
  2333. standard libraries* checkbox. This adds also the commandline option
  2334. -NOSTDLIB to GCC, that means, you must give the linker explicitly all of
  2335. the standard libraries, which you need. This includes the `libgcc.a' and
  2336. `libc.a' libraries.
  2337.  
  2338. 
  2339. File: rhide.inf,  Node: Linker options,  Next: Compiler options,  Prev: Libraries,  Up: Options
  2340.  
  2341. 3.9.4 Linker options
  2342. --------------------
  2343.  
  2344. Here you can enter a space separated list of options that will be passed
  2345. to GCC when linking your program.  (*Note Syntax of arguments::)
  2346.  
  2347. (*Note Syntax of arguments::).
  2348.  
  2349. 
  2350. File: rhide.inf,  Node: Compiler options,  Next: Environment,  Prev: Linker options,  Up: Options
  2351.  
  2352. 3.9.5 Compiler options
  2353. ----------------------
  2354.  
  2355. Here you can enter a space separated list of additional options that will
  2356. be passed to GCC every time it is called.  (*Note Syntax of arguments::)
  2357.  
  2358. (*Note Syntax of arguments::).
  2359.  
  2360. 
  2361. File: rhide.inf,  Node: Environment,  Next: Save options,  Prev: Compiler options,  Up: Options
  2362.  
  2363. 3.9.6 Environment
  2364. -----------------
  2365.  
  2366. * Menu:
  2367.  
  2368. * Colors::
  2369. * Editor options::
  2370. * Preferences::
  2371. * Mouse options::
  2372. * Reserved words::
  2373. * Pascal reserved words::
  2374. * C-Flags::
  2375. * CXX-Flags::
  2376. * Pascal-Flags::
  2377. * Fortran-Flags::
  2378. * Warning-Flags::
  2379. * Debugging-Flags::
  2380. * Optimization-Flags::
  2381. * User words::
  2382.  
  2383. 
  2384. File: rhide.inf,  Node: Colors,  Next: Editor options,  Prev: Environment,  Up: Environment
  2385.  
  2386. 3.9.6.1 Colors
  2387. ..............
  2388.  
  2389. Here you can customize all of the colors of the IDE.
  2390.  
  2391. 
  2392. File: rhide.inf,  Node: Editor options,  Next: Preferences,  Prev: Colors,  Up: Environment
  2393.  
  2394. 3.9.6.2 Editor options
  2395. ......................
  2396.  
  2397. * Menu:
  2398.  
  2399. * autoindent::
  2400. * Use tabs::
  2401. * Persistent blocks::
  2402. * Intelligent C indenting::
  2403. * Column cursor::
  2404. * Row cursor::
  2405. * Match pair highlight::
  2406. * Do not move the cursor on paste::
  2407. * Transparent Blocks::
  2408. * Optimal fill::
  2409. * Tabsize::
  2410.  
  2411. 
  2412. File: rhide.inf,  Node: autoindent,  Next: Use tabs,  Prev: Editor options,  Up: Editor options
  2413.  
  2414. autoindent
  2415. ..........
  2416.  
  2417. When this is enabled, the editor automatically indents the next line by
  2418. referring to the previous line if you press enter.
  2419.  
  2420. For more information see *Note Documentation for the editor:
  2421. (editor)Autoindent,
  2422.  
  2423. (*Note Editor options::)
  2424.  
  2425. 
  2426. File: rhide.inf,  Node: Use tabs,  Next: Persistent blocks,  Prev: autoindent,  Up: Editor options
  2427.  
  2428. Use tabs
  2429. ........
  2430.  
  2431. When this is enabled, the character `\t' is inserted into the text if you
  2432. press the <Tab>-key. Otherwise the number of spaces (defined by tabsize)
  2433. is inserted.
  2434.  
  2435. For more information see see *Note Documentation for the editor:
  2436. (editor)Real Tabs,
  2437.  
  2438. (*Note Editor options::)
  2439.  
  2440. 
  2441. File: rhide.inf,  Node: Persistent blocks,  Next: Intelligent C indenting,  Prev: Use tabs,  Up: Editor options
  2442.  
  2443. Persistent blocks
  2444. .................
  2445.  
  2446. Normally, RHIDE uses persistent blocks. This means the selected area will
  2447. not get unselected if you press a key. If you like the behavior of earlier
  2448. versions of RHIDE, disable this option.
  2449.  
  2450. For more information see see *Note Documentation for the editor:
  2451. (editor)Persistent Blocks,
  2452.  
  2453. (*Note Editor options::)
  2454.  
  2455. 
  2456. File: rhide.inf,  Node: Intelligent C indenting,  Next: Column cursor,  Prev: Persistent blocks,  Up: Editor options
  2457.  
  2458. Intelligent C indenting
  2459. .......................
  2460.  
  2461. This option enables the so called 'C intelligent indenting', which is an
  2462. heuristic for indenting after special key words like `if' or `while' more
  2463. than the normal autoindenting. This works only if AUTOINDENT is enabled.
  2464.  
  2465. For more information see see *Note Documentation for the editor:
  2466. (editor)Intelligent C indent,
  2467.  
  2468. (*Note Editor options::)
  2469.  
  2470. 
  2471. File: rhide.inf,  Node: Column cursor,  Next: Row cursor,  Prev: Intelligent C indenting,  Up: Editor options
  2472.  
  2473. Column cursor
  2474. .............
  2475.  
  2476. This is a special feature of the builtin editor. If you enable this option
  2477. you will see a vertical special color highlighted column across the whole
  2478. editor window at the cursor column.
  2479.  
  2480. For more information see see *Note Documentation for the editor:
  2481. (editor)Column cursor,
  2482.  
  2483. (*Note Editor options::)
  2484.  
  2485. 
  2486. File: rhide.inf,  Node: Row cursor,  Next: Match pair highlight,  Prev: Column cursor,  Up: Editor options
  2487.  
  2488. Row cursor
  2489. ..........
  2490.  
  2491. This is a special feature of the builtin editor. If you enable this option
  2492. you will see a horizontal special color highlighted row across the whole
  2493. editor window at the cursor row.
  2494.  
  2495. For more information see see *Note Documentation for the editor:
  2496. (editor)Row cursor,
  2497.  
  2498. (*Note Editor options::)
  2499.  
  2500. 
  2501. File: rhide.inf,  Node: Match pair highlight,  Next: Do not move the cursor on paste,  Prev: Row cursor,  Up: Editor options
  2502.  
  2503. Match pair highlight
  2504. ....................
  2505.  
  2506. If this option is enabled, you will see at any time you type a bracket,
  2507. brace or parenthesis the matching highlighted or a message, that there was
  2508. no matching found.
  2509.  
  2510. For more information see see *Note Documentation for the editor:
  2511. (editor)Match pair highlight,
  2512.  
  2513. (*Note Editor options::)
  2514.  
  2515. 
  2516. File: rhide.inf,  Node: Do not move the cursor on paste,  Next: Transparent Blocks,  Prev: Match pair highlight,  Up: Editor options
  2517.  
  2518. Do not move the cursor on paste
  2519. ...............................
  2520.  
  2521. Enable this option, when you want to leave the cursor at it's current
  2522. position when you paste some text.
  2523.  
  2524. (*Note Editor options::)
  2525.  
  2526. 
  2527. File: rhide.inf,  Node: Transparent Blocks,  Next: Optimal fill,  Prev: Do not move the cursor on paste,  Up: Editor options
  2528.  
  2529. Transparent Blocks
  2530. ..................
  2531.  
  2532. When this option is enabled, the syntax highlight is still shown in
  2533. selected blocks.
  2534.  
  2535. (*Note Editor options::)
  2536.  
  2537. 
  2538. File: rhide.inf,  Node: Optimal fill,  Next: Tabsize,  Prev: Transparent Blocks,  Up: Editor options
  2539.  
  2540. Optimal fill
  2541. ............
  2542.  
  2543. When enabling this option the editor fills the gaps in your text with an
  2544. optimal value of spaces and tabs.
  2545.  
  2546. (*Note Editor options::)
  2547.  
  2548. 
  2549. File: rhide.inf,  Node: Tabsize,  Prev: Optimal fill,  Up: Editor options
  2550.  
  2551. Tabsize
  2552. .......
  2553.  
  2554. Additionally you can select here the tabbing size for the editor. This
  2555. value is used as the global setting for all editor windows which will be
  2556. opened after setting this value. The currently opened windows will use
  2557. also this setting.
  2558.  
  2559. (*Note Editor options::)
  2560.  
  2561. 
  2562. File: rhide.inf,  Node: Preferences,  Next: Mouse options,  Prev: Editor options,  Up: Environment
  2563.  
  2564. 3.9.6.3 Preferences
  2565. ...................
  2566.  
  2567. Here you can customize some basic options for the work of the IDE. A
  2568. dialog will be opened where you can turn on or off the following options:
  2569.  
  2570. * Menu:
  2571.  
  2572. * all dependencies in makefile::
  2573. * create backup files::
  2574. * syntax highlighting::
  2575. * Use dual display::
  2576. * redirect stderr::
  2577. * redirect stdout::
  2578. * show process information::
  2579. * show free memory::
  2580. * No file caching::
  2581. * 16 background colors::
  2582. * Show GDB commands::
  2583. * Use no shadows::
  2584. * Save text palette::
  2585. * Save project only when closing::
  2586. * Screen mode::
  2587.  
  2588. 
  2589. File: rhide.inf,  Node: all dependencies in makefile,  Next: create backup files,  Prev: Preferences,  Up: Preferences
  2590.  
  2591. all dependencies in makefile
  2592. ............................
  2593.  
  2594. When this is enabled, all internally stored dependencies for a project
  2595. item are written to the makefile.  (*Note Write Makefile::). You should
  2596. disable this option, if you want to give another user the makefile of your
  2597. project, and (s)he has a different directory structure.
  2598.  
  2599. (*Note Preferences::)
  2600.  
  2601. 
  2602. File: rhide.inf,  Node: create backup files,  Next: syntax highlighting,  Prev: all dependencies in makefile,  Up: Preferences
  2603.  
  2604. create backup files
  2605. ...................
  2606.  
  2607. Create backup files when saving. When it is enabled, RHIDE creates a backup
  2608. of the file to save under the same name as the editing file, but the suffix
  2609. is replaced with `.bak'
  2610.  
  2611. (*Note Preferences::)
  2612.  
  2613. 
  2614. File: rhide.inf,  Node: syntax highlighting,  Next: Use dual display,  Prev: create backup files,  Up: Preferences
  2615.  
  2616. syntax highlighting
  2617. ...................
  2618.  
  2619. Turn the Syntax highlight on or off. RHIDE automatically checks the suffix
  2620. of the editing file to determine the correct syntax highlighting.
  2621. Currently this is supported only for C, C++, and Pascal source files.  All
  2622. other files are not specially highlighted.
  2623.  
  2624. (*Note Preferences::)
  2625.  
  2626. 
  2627. File: rhide.inf,  Node: Use dual display,  Next: redirect stderr,  Prev: syntax highlighting,  Up: Preferences
  2628.  
  2629. Use dual display
  2630. ................
  2631.  
  2632. Here is an very powerful option. If you have installed on your computer a
  2633. secondary display (monochrome monitor) in addition to your VGA monitor,
  2634. RHIDE can (when this option is enabled) switch to the second monitor for
  2635. it's output and you can see your program on the normal monitor.
  2636.  
  2637. If this option is enabled and you have not a secondary monitor installed,
  2638. RHIDE will detect this and does not switch to it.
  2639.  
  2640. (*Note Preferences::)
  2641.  
  2642. 
  2643. File: rhide.inf,  Node: redirect stderr,  Next: redirect stdout,  Prev: Use dual display,  Up: Preferences
  2644.  
  2645. redirect stderr
  2646. ...............
  2647.  
  2648. Turn this on, if you want to redirect the output to stderr of your program
  2649. to a window in the IDE. This is also needed, if you want to use the
  2650. builtin analyzing of a call frame traceback, when your program crashes.
  2651.  
  2652. (*Note Preferences::)
  2653.  
  2654. 
  2655. File: rhide.inf,  Node: redirect stdout,  Next: show process information,  Prev: redirect stderr,  Up: Preferences
  2656.  
  2657. redirect stdout
  2658. ...............
  2659.  
  2660. Turn this option on, if you want to redirect the output to stdout from
  2661. your program to a window in the IDE.
  2662.  
  2663. (*Note Preferences::)
  2664.  
  2665. 
  2666. File: rhide.inf,  Node: show process information,  Next: show free memory,  Prev: redirect stdout,  Up: Preferences
  2667.  
  2668. show process information
  2669. ........................
  2670.  
  2671. Turn this option on if you want to see which files are checked, when you
  2672. do a make (*Note Make::), and to see the commandlines how the compilers
  2673. are started by RHIDE.
  2674.  
  2675. (*Note Preferences::)
  2676.  
  2677. 
  2678. File: rhide.inf,  Node: show free memory,  Next: No file caching,  Prev: show process information,  Up: Preferences
  2679.  
  2680. show free memory
  2681. ................
  2682.  
  2683. Turn this option on to show in the upper right corner of the screen a
  2684. readout of the free memory of your system.  This shows both, the virtual
  2685. and the physical free memory.
  2686.  
  2687. (*Note Preferences::)
  2688.  
  2689. 
  2690. File: rhide.inf,  Node: No file caching,  Next: 16 background colors,  Prev: show free memory,  Up: Preferences
  2691.  
  2692. No file caching
  2693. ...............
  2694.  
  2695. If this option is enabled, RHIDE does not use the internal caching of
  2696. information about searching files and modification times. Use this only if
  2697. you have problems with the automatic checking of dependencies, because
  2698. this slows down RHIDE.
  2699.  
  2700. (*Note Preferences::)
  2701.  
  2702. 
  2703. File: rhide.inf,  Node: 16 background colors,  Next: Show GDB commands,  Prev: No file caching,  Up: Preferences
  2704.  
  2705. 16 background colors
  2706. ....................
  2707.  
  2708. On EGA/VGA video cards it is possible to use 16 background colors instead
  2709. of normal 8. This is done by telling the video card how to interpret the
  2710. highest bit of the color attribute. If you enable this, you can use up to
  2711. 16 background colors, otherwise there are only 8 colors for the background
  2712. available. To get blinking foreground colors, you must use a little trick.
  2713. Enable at first this option here. Then change the color attribute to
  2714. highlight background color you want and then reset the '16 background
  2715. colors' option.
  2716.  
  2717. (*Note Preferences::)
  2718.  
  2719. 
  2720. File: rhide.inf,  Node: Show GDB commands,  Next: Use no shadows,  Prev: 16 background colors,  Up: Preferences
  2721.  
  2722. Show GDB commands
  2723. .................
  2724.  
  2725. When this option is enabled you can see in the GDB output window which
  2726. commands are sent to the builtin GDB from RHIDE.
  2727.  
  2728. (*Note Preferences::)
  2729.  
  2730. 
  2731. File: rhide.inf,  Node: Use no shadows,  Next: Save text palette,  Prev: Show GDB commands,  Up: Preferences
  2732.  
  2733. Use no shadows
  2734. ..............
  2735.  
  2736. When this option is enabled RHIDE uses no shadows at all for the windows
  2737. and dialogs and so on.
  2738.  
  2739. (*Note Preferences::)
  2740.  
  2741. 
  2742. File: rhide.inf,  Node: Save text palette,  Next: Save project only when closing,  Prev: Use no shadows,  Up: Preferences
  2743.  
  2744. Save text palette
  2745. .................
  2746.  
  2747. When you debug a program, which modifies the palette when in text mode,
  2748. you should enable this option.
  2749.  
  2750. 
  2751. File: rhide.inf,  Node: Save project only when closing,  Next: Screen mode,  Prev: Save text palette,  Up: Preferences
  2752.  
  2753. Save project only when closing
  2754. ..............................
  2755.  
  2756. Enable this option only, when you get a system crash after starting your
  2757. program and because of the use of disk cache the project, which RHIDE
  2758. automatically saves before your program is run, is corrupted.
  2759.  
  2760. 
  2761. File: rhide.inf,  Node: Screen mode,  Prev: Save project only when closing,  Up: Preferences
  2762.  
  2763. Screen mode
  2764. ...........
  2765.  
  2766. Here you can select the video mode. If you want to use a video mode other
  2767. than the ones shown, you have to select the USER MODE mode and type the
  2768. value of this mode (see in the reference of your video card) as a decimal
  2769. or hexadecimal (preceeded by `0x') number. But you can use only textmodes
  2770. (modes with starting video ram address at `0xB800:0000'. For the numbers
  2771. of the videomodes refer to the documentation of your video card.  If you
  2772. type an invalid videomode (RHIDE checks it), the 80x25-Mode will
  2773. automatically selected.
  2774.  
  2775. I have tested all available text modes with my et4000-card, and they work.
  2776. For some modes, (mostly every high resolution text mode) the mouse cursor
  2777. is shown by my own routine.  That means that you can use the mouse also in
  2778. the high resolution text modes.
  2779.  
  2780. (*Note Preferences::)
  2781.  
  2782. 
  2783. File: rhide.inf,  Node: Mouse options,  Next: Reserved words,  Prev: Preferences,  Up: Environment
  2784.  
  2785. 3.9.6.4 Mouse options
  2786. .....................
  2787.  
  2788. Here you can customize a little bit the speed of the double click interval
  2789. and you can also tell RHIDE to reverse the mouse buttons.
  2790.  
  2791. 
  2792. File: rhide.inf,  Node: Reserved words,  Next: Pascal reserved words,  Prev: Mouse options,  Up: Environment
  2793.  
  2794. 3.9.6.5 Reserved words
  2795. ......................
  2796.  
  2797. This opens a dialog, where you can modify the list of reserved words the
  2798. editor knows. If you choose the *Default* button in this dialog, the
  2799. default reserved words are generated and any previous words are lost.
  2800.  
  2801. 
  2802. File: rhide.inf,  Node: Pascal reserved words,  Next: C-Flags,  Prev: Reserved words,  Up: Environment
  2803.  
  2804. 3.9.6.6 Pascal reserved words
  2805. .............................
  2806.  
  2807. This opens a dialog, where you can modify the list of reserved words for
  2808. Pascal the editor knows. If you choose the *Default* button in this
  2809. dialog, the default reserved words are generated and any previous words
  2810. are lost.
  2811.  
  2812. 
  2813. File: rhide.inf,  Node: C-Flags,  Next: CXX-Flags,  Prev: Pascal reserved words,  Up: Environment
  2814.  
  2815. 3.9.6.7 C-Flags
  2816. ...............
  2817.  
  2818. Here you can modify the list of C options, which you can turn on or off.
  2819. (*Note C options::)
  2820.  
  2821. (*Note How to change the list of flags::)
  2822.  
  2823. 
  2824. File: rhide.inf,  Node: CXX-Flags,  Next: Pascal-Flags,  Prev: C-Flags,  Up: Environment
  2825.  
  2826. 3.9.6.8 CXX-Flags
  2827. .................
  2828.  
  2829. Here you can modify the list of CXX options, which you can turn on or off.
  2830. (*Note CXX options::)
  2831.  
  2832. (*Note How to change the list of flags::)
  2833.  
  2834. 
  2835. File: rhide.inf,  Node: Pascal-Flags,  Next: Fortran-Flags,  Prev: CXX-Flags,  Up: Environment
  2836.  
  2837. 3.9.6.9 Pascal-Flags
  2838. ....................
  2839.  
  2840. Here you can modify the list of Pascal options, which you can turn on or
  2841. off. (*Note Pascal options::)
  2842.  
  2843. (*Note How to change the list of flags::)
  2844.  
  2845. 
  2846. File: rhide.inf,  Node: Fortran-Flags,  Next: Warning-Flags,  Prev: Pascal-Flags,  Up: Environment
  2847.  
  2848. 3.9.6.10 Fortran-Flags
  2849. ......................
  2850.  
  2851. Here you can modify the list of Fortran options, which you can turn on or
  2852. off. (*Note Fortran options::)
  2853.  
  2854. (*Note How to change the list of flags::)
  2855.  
  2856. 
  2857. File: rhide.inf,  Node: Warning-Flags,  Next: Debugging-Flags,  Prev: Fortran-Flags,  Up: Environment
  2858.  
  2859. 3.9.6.11 Warning-Flags
  2860. ......................
  2861.  
  2862. Here you can modify the list of Warning-Flags, which you can turn on or
  2863. off.  (*Note Warnings::)
  2864.  
  2865. (*Note How to change the list of flags::)
  2866.  
  2867. 
  2868. File: rhide.inf,  Node: Debugging-Flags,  Next: Optimization-Flags,  Prev: Warning-Flags,  Up: Environment
  2869.  
  2870. 3.9.6.12 Debugging-Flags
  2871. ........................
  2872.  
  2873. Here you can modify the list of Debugging-Flags, which you can turn on or
  2874. off.  (*Note Debugging::)
  2875.  
  2876. (*Note How to change the list of flags::)
  2877.  
  2878. 
  2879. File: rhide.inf,  Node: Optimization-Flags,  Next: User words,  Prev: Debugging-Flags,  Up: Environment
  2880.  
  2881. 3.9.6.13 Optimization-Flags
  2882. ...........................
  2883.  
  2884. Here you can modify the list of Optimization-Flags, which you can turn on
  2885. or off.  (*Note Optimizations::)
  2886.  
  2887. (*Note How to change the list of flags::)
  2888.  
  2889. 
  2890. File: rhide.inf,  Node: User words,  Prev: Optimization-Flags,  Up: Environment
  2891.  
  2892. 3.9.6.14 User words
  2893. ...................
  2894.  
  2895. Here you can define your own list of words, which can be specially
  2896. highlighted, when syntax highlighting is enabled. (*Note Preferences::)
  2897.  
  2898. * Menu:
  2899.  
  2900. * How to change the list of flags::
  2901.  
  2902. 
  2903. File: rhide.inf,  Node: How to change the list of flags,  Prev: User words,  Up: User words
  2904.  
  2905. How to change the list of flags
  2906. ...............................
  2907.  
  2908. The syntax of the strings, which you can modify or add with the last
  2909. menu-entries is any string followed by an optional modifier with the
  2910. following meaning:
  2911.  
  2912. `%d'
  2913.      if you activate this option, you *must* enter an integer there
  2914.  
  2915. `%d?'
  2916.      if you activate this option, you *can* enter an integer there
  2917.  
  2918. `%c'
  2919.      if you activate this option, you *must* enter a character there
  2920.  
  2921. `%c?'
  2922.      if you activate this option, you *can* enter a character there
  2923.  
  2924. `%s'
  2925.      if you activate this option, you *must* enter a string there
  2926.  
  2927. `%s?'
  2928.      if you activate this option, you *can* enter a string there
  2929.  
  2930. `%s(STRING)'
  2931.      if you activate this option, you *must* enter a string, which
  2932.      contains only characters defined by the string STRING, there
  2933.  
  2934. `%s?(STRING)'
  2935.      if you activate this option, you *can* enter a string, which contains
  2936.      only characters defined by the string STRING, there
  2937.  
  2938. As an example: the string for the `-O' option is defined as `-O%d?' and
  2939. the `-d' option (*Note Debugging::) is defined as
  2940.  `-d%s(MNDyrxjsLtfcSlgRJdkamp)'
  2941. which means, the string after `-d' must be a combination of the characters
  2942. in
  2943.  `MNDyrxjsLtfcSlgRJdkamp'
  2944. If you leave the dialogs for modifying the flag lists with the *OK* button
  2945. or if you activate the *Default* button, all flags are disabled
  2946.  
  2947. 
  2948. File: rhide.inf,  Node: Save options,  Next: Load options,  Prev: Environment,  Up: Options
  2949.  
  2950. 3.9.7 Save options
  2951. ------------------
  2952.  
  2953. Here you can save all the options you currently customized to a file.
  2954. RHIDE restricts this to saving them only to a file with the `.gpr' suffix
  2955. (and `.gdt' for the desktop file).
  2956.  
  2957. 
  2958. File: rhide.inf,  Node: Load options,  Prev: Save options,  Up: Options
  2959.  
  2960. 3.9.8 Load options
  2961. ------------------
  2962.  
  2963. Here you can load the options from any existing project file.
  2964.  
  2965. 
  2966. File: rhide.inf,  Node: Windows,  Next: Help submenu,  Prev: Options,  Up: Description of the pull-down menus
  2967.  
  2968. 3.10 Windows
  2969. ============
  2970.  
  2971. In this menu you get the functions for arranging, resizing and switching
  2972. between the windows on the desktop:
  2973.  
  2974. * Menu:
  2975.  
  2976. * Size/move::
  2977. * Zoom::
  2978. * Tile::
  2979. * Cascade::
  2980. * Next::
  2981. * Previous::
  2982. * Close::
  2983. * List::
  2984. * Project::
  2985. * UserScreen::
  2986.  
  2987. 
  2988. File: rhide.inf,  Node: Size/move,  Next: Zoom,  Prev: Windows,  Up: Windows
  2989.  
  2990. 3.10.1 Size/move
  2991. ----------------
  2992.  
  2993. With this function you can resize and/or move the current window. After
  2994. selecting this, the frame of the current window will be drawn light-green
  2995. and you can move it with the cursor-keys. To resize it, press <Shift+>
  2996. cursor-keys. To exit the moving/resizing function, press <ESC> or <ENTER>.
  2997. Alternatively you can use the mouse.  For moving, click on the top of the
  2998. window and hold the left button down. Now you can move the window by
  2999. moving the mouse. To resize it, click on lower right corner of the window,
  3000. hold the button down and resize the window by moving the mouse. (This
  3001. function has the hotkey <Ctrl+F5> )
  3002.  
  3003. 
  3004. File: rhide.inf,  Node: Zoom,  Next: Tile,  Prev: Size/move,  Up: Windows
  3005.  
  3006. 3.10.2 Zoom
  3007. -----------
  3008.  
  3009. This brings up the window to maximal size or to previous size.  (hotkey
  3010. <F5> or click with the mouse at the symbol on the right upper corner of
  3011. the window)
  3012.  
  3013. 
  3014. File: rhide.inf,  Node: Tile,  Next: Cascade,  Prev: Zoom,  Up: Windows
  3015.  
  3016. 3.10.3 Tile
  3017. -----------
  3018.  
  3019. This arranges all the editor-windows on the desktop, to see them all
  3020. simultaneously.
  3021.  
  3022. 
  3023. File: rhide.inf,  Node: Cascade,  Next: Next,  Prev: Tile,  Up: Windows
  3024.  
  3025. 3.10.4 Cascade
  3026. --------------
  3027.  
  3028. This arranges all the editor-windows on the desktop, to see the contents
  3029. of the current editor-window and the top-frame of all the others.
  3030.  
  3031. 
  3032. File: rhide.inf,  Node: Next,  Next: Previous,  Prev: Cascade,  Up: Windows
  3033.  
  3034. 3.10.5 Next
  3035. -----------
  3036.  
  3037. Hotkey <F6> switches to the next window on the desktop.
  3038.  
  3039. 
  3040. File: rhide.inf,  Node: Previous,  Next: Close,  Prev: Next,  Up: Windows
  3041.  
  3042. 3.10.6 Previous
  3043. ---------------
  3044.  
  3045. Hotkey <Shift+F6> switches to the previous window on the desktop.
  3046.  
  3047. 
  3048. File: rhide.inf,  Node: Close,  Next: List,  Prev: Previous,  Up: Windows
  3049.  
  3050. 3.10.7 Close
  3051. ------------
  3052.  
  3053. This closes the current window. If it is an editor-window and its contents
  3054. were modified, you will be prompted to save it. Hotkey <Alt+F3> or click
  3055. with the mouse on the upper-left symbol of the frame.
  3056.  
  3057. 
  3058. File: rhide.inf,  Node: List,  Next: Project,  Prev: Close,  Up: Windows
  3059.  
  3060. 3.10.8 List
  3061. -----------
  3062.  
  3063. Hotkey <Alt+0> brings up a list of all windows that are currently on the
  3064. desktop. You can select one of them and press <ENTER> to switch to it.
  3065. With <Del> you can close the selected window.
  3066.  
  3067. 
  3068. File: rhide.inf,  Node: Project,  Next: UserScreen,  Prev: List,  Up: Windows
  3069.  
  3070. 3.10.9 Project
  3071. --------------
  3072.  
  3073. With this function you can select the project window (*Note Project
  3074. window::). If it was closed, it will be opened.
  3075.  
  3076. 
  3077. File: rhide.inf,  Node: UserScreen,  Prev: Project,  Up: Windows
  3078.  
  3079. 3.10.10 UserScreen
  3080. ------------------
  3081.  
  3082. Hotkey <Alt+F5> shows the contents of the DOS-Screen.  To leave this
  3083. function, do any event. That means, press any key, or click with the mouse.
  3084.  
  3085. 
  3086. File: rhide.inf,  Node: Help submenu,  Prev: Windows,  Up: Description of the pull-down menus
  3087.  
  3088. 3.11 Help
  3089. =========
  3090.  
  3091. In this menu you have access to many predefined help entries in the big
  3092. help system.
  3093.  
  3094. * Menu:
  3095.  
  3096. * Help::
  3097. * RHIDE Help index::
  3098. * Syntax help submenu::
  3099. * Index for syntax help::
  3100. * libc reference::
  3101. * Help about help::
  3102.  
  3103. 
  3104. File: rhide.inf,  Node: Help,  Next: RHIDE Help index,  Prev: Help submenu,  Up: Help submenu
  3105.  
  3106. 3.11.1 Help
  3107. -----------
  3108.  
  3109. This opens the INFO viewer. Many thanks at this point to Salvador Eduardo
  3110. Tropea (SET). He wrote the very good INFO viewer for use with RHIDE. This
  3111. was also the most important reason for me to write the documentation in
  3112. Texinfo, because you have now an online help available with the produced
  3113. INFO file `rhide.info'.
  3114.  
  3115. Pressing <F1> invokes the help system from everywhere.  For help on using
  3116. the INFO viewer, press <F1> within the help window.  But the above things
  3117. work only if you have correctly installed the INFO files that come with
  3118. RHIDE.
  3119.  
  3120. If you have installed the binary archive of RHIDE as described in the
  3121. `readme.bin', the INFO files are in `%DJDIR%/info'. If you have not
  3122. modified your `djgpp.env' file, this directory is searched for the INFO
  3123. files.
  3124.  
  3125. But you can put the INFO files in any directory you want, if you add this
  3126. directory to the %INFOPATH% variable in your `djgpp.env' file in the
  3127. section for `info'.
  3128.  
  3129. 
  3130. File: rhide.inf,  Node: RHIDE Help index,  Next: Syntax help submenu,  Prev: Help,  Up: Help submenu
  3131.  
  3132. 3.11.2 RHIDE Help index
  3133. -----------------------
  3134.  
  3135. This brings up the help window with the main index for getting help for
  3136. RHIDE.
  3137.  
  3138. 
  3139. File: rhide.inf,  Node: Syntax help submenu,  Next: Index for syntax help,  Prev: RHIDE Help index,  Up: Help submenu
  3140.  
  3141. 3.11.3 Syntax help submenu
  3142. --------------------------
  3143.  
  3144. In this submenu you can set the files to be searched for getting syntax
  3145. help and you can also customize the options, how this is done.
  3146.  
  3147. * Menu:
  3148.  
  3149. * Syntax help::
  3150. * Files to search::
  3151. * Options for searching::
  3152.  
  3153. 
  3154. File: rhide.inf,  Node: Syntax help,  Next: Files to search,  Prev: Syntax help submenu,  Up: Syntax help submenu
  3155.  
  3156. 3.11.3.1 Syntax help
  3157. ....................
  3158.  
  3159. If you are in an editor window, and you press <Ctrl+F1> , you get help
  3160. about the function under or before the cursor.  But only if this function
  3161. is documented in the files you have given to be searched for. (*Note Files
  3162. to search::) If there was no help found you will be informed.  This
  3163. feature can be used also by clicking with the right mouse button on the
  3164. word.
  3165.  
  3166. 
  3167. File: rhide.inf,  Node: Files to search,  Next: Options for searching,  Prev: Syntax help,  Up: Syntax help submenu
  3168.  
  3169. 3.11.3.2 Files to search
  3170. ........................
  3171.  
  3172. Give here a space separated list of files (if you give no suffix, the
  3173. standard suffixes are tried) which should be scanned for getting help for
  3174. a word.
  3175.  
  3176. 
  3177. File: rhide.inf,  Node: Options for searching,  Prev: Files to search,  Up: Syntax help submenu
  3178.  
  3179. 3.11.3.3 Options for searching
  3180. ..............................
  3181.  
  3182. Here you can give some options, how the syntax help should work. The
  3183. following search methods are selectable and other options. For all the
  3184. search methods it is possible to get more than one matching topic. If that
  3185. is true, you will find a list, from which you can select the wanted topic.
  3186.  
  3187. * Menu:
  3188.  
  3189. * Exact::
  3190. * Substring::
  3191. * Fuzzy::
  3192. * Search options::
  3193. * Fuzzy value::
  3194.  
  3195. 
  3196. File: rhide.inf,  Node: Exact,  Next: Substring,  Prev: Options for searching,  Up: Options for searching
  3197.  
  3198. Exact
  3199. .....
  3200.  
  3201. When this is selected, you will get syntax help only, if in the selected
  3202. files a topic with that exact name was found.
  3203.  
  3204. 
  3205. File: rhide.inf,  Node: Substring,  Next: Fuzzy,  Prev: Exact,  Up: Options for searching
  3206.  
  3207. Substring
  3208. .........
  3209.  
  3210. When this is selected, you will get syntax help, when the word is a
  3211. substring of any of the nodes in the files to be searched for syntax help.
  3212.  
  3213. 
  3214. File: rhide.inf,  Node: Fuzzy,  Next: Search options,  Prev: Substring,  Up: Options for searching
  3215.  
  3216. Fuzzy
  3217. .....
  3218.  
  3219. This method uses a "Fuzzy search" for getting syntax help. That means it
  3220. looks also for nodes, which are similar to the word for which you want to
  3221. get syntax help.
  3222.  
  3223. 
  3224. File: rhide.inf,  Node: Search options,  Next: Fuzzy value,  Prev: Fuzzy,  Up: Options for searching
  3225.  
  3226. Search options
  3227. ..............
  3228.  
  3229. These are several options for the textual search:
  3230. `Case sensitive'
  3231.      When this is selected, the textual search is case sensitive.
  3232.  
  3233. 
  3234. File: rhide.inf,  Node: Fuzzy value,  Prev: Search options,  Up: Options for searching
  3235.  
  3236. Here you can set the bound for the fuzzy search. The range is from 1 to
  3237. 1000 where 1 means that mostly every string matches any other string and
  3238. 1000 means the exact match.
  3239.  
  3240. 
  3241. File: rhide.inf,  Node: Index for syntax help,  Next: libc reference,  Prev: Syntax help submenu,  Up: Help submenu
  3242.  
  3243. 3.11.4 Index for syntax help
  3244. ----------------------------
  3245.  
  3246. Here you can get a list of all available topics for the syntax help, from
  3247. where you can choose one (<Enter>, <Space> or double click).
  3248.  
  3249. 
  3250. File: rhide.inf,  Node: libc reference,  Next: Help about help,  Prev: Index for syntax help,  Up: Help submenu
  3251.  
  3252. 3.11.5 libc reference
  3253. ---------------------
  3254.  
  3255. This is a separate menu entry to open the libc reference, because this is
  3256. used very often when writing C programs.
  3257.  
  3258. 
  3259. File: rhide.inf,  Node: Help about help,  Prev: libc reference,  Up: Help submenu
  3260.  
  3261. 3.11.6 Help about help
  3262. ----------------------
  3263.  
  3264. This brings up a help-window for instructions and available keystrokes
  3265. when using the integrated INFO viewer.  (see *Note Top: ()Top,)
  3266.  
  3267. 
  3268. File: rhide.inf,  Node: Detailed description of some parts of RHIDE,  Next: Debugging with RHIDE,  Prev: Description of the pull-down menus,  Up: Top
  3269.  
  3270. 4. Detailed description of some parts of RHIDE
  3271. **********************************************
  3272.  
  3273. * Menu:
  3274.  
  3275. * Selecting a window::
  3276. * How the editor works::
  3277. * Some hints and problems::
  3278. * Project window::
  3279. * Builtin compiler specs::
  3280. * Builtin variables::
  3281. * Change the defaults of RHIDE::
  3282. * Message window::
  3283. * Syntax highlighting::
  3284. * Checking the dependencies::
  3285. * What is Turbo Vision::
  3286. * How the dialogs work::
  3287. * Defining macros::
  3288. * The INFO Viewer::
  3289. * RCS and RHIDE::
  3290.  
  3291. 
  3292. File: rhide.inf,  Node: Selecting a window,  Next: How the editor works,  Prev: Detailed description of some parts of RHIDE,  Up: Detailed description of some parts of RHIDE
  3293.  
  3294. 4.1 Selecting a window
  3295. ======================
  3296.  
  3297. To select a window you can do the following. If the window has a number,
  3298. this is right on the top-frame, you can select this window by pressing
  3299. <Alt> and this number (but only if the number is a single digit).  Or you
  3300. click anywhere in the window or on the frame of the window with your mouse.
  3301.  
  3302. 
  3303. File: rhide.inf,  Node: How the editor works,  Next: Some hints and problems,  Prev: Selecting a window,  Up: Detailed description of some parts of RHIDE
  3304.  
  3305. 4.2 How the editor works
  3306. ========================
  3307.  
  3308. This section should describe the work of the editor. But because the editor
  3309. is now so complex and, not my own work, there is now separate
  3310. documentation, see *Note Documentation for the editor: (editor)Top, for a
  3311. detailed and better doc. But you can read also more from my doc, which
  3312. describes the most common (for me) usage of the editor.
  3313.  
  3314. Here I describe most of the editor commands. If there is a key command like
  3315. `Ctrl+Q+Y', press <Ctrl> and <Q> simultaneously and after this press <Y>.
  3316.  
  3317. I strongly recommend not to use the technique by holding down the <Ctrl>
  3318. key when pressing the second key in such key combinations, because for
  3319. instance when you press `Ctrl+K' and then `Ctrl+C' you will be prompted if
  3320. you want to interrupt RHIDE (because you pressed the interrupt key). But
  3321. if you really want to use this methode, you should use the `-C'
  3322. commandline switch when starting RHIDE to disable the handling of
  3323. `SIGINIT'.
  3324.  
  3325. * Menu:
  3326.  
  3327. * Erasing commands::
  3328. * Cursor moving commands::
  3329. * Text selecting and searching commands::
  3330. * Block commands::
  3331. * Other commands::
  3332.  
  3333. 
  3334. File: rhide.inf,  Node: Erasing commands,  Next: Cursor moving commands,  Prev: How the editor works,  Up: How the editor works
  3335.  
  3336. 4.2.1 Erasing commands
  3337. ----------------------
  3338.  
  3339.    * <Ctrl+G> or <Del> erases the character under the cursor or the
  3340.      selected text.
  3341.  
  3342.    * <Ctrl+H> or <Backspace> erases the character before the cursor or the
  3343.      selected text.
  3344.  
  3345.    * <Ctrl+Y> erases the current line.
  3346.  
  3347.    * <Ctrl+Q+Y> erases from the cursor to the end of the line.
  3348.  
  3349.    * <Ctrl+Q+H> erases from the cursor to the beginning of the line.
  3350.  
  3351.    * <Ctrl+T> erases from the cursor to the beginning of the next word on
  3352.      this line.
  3353.  
  3354.    * <Ctrl+Backspace> erases from the cursor to the beginning of the
  3355.      previous word.
  3356.  
  3357. 
  3358. File: rhide.inf,  Node: Cursor moving commands,  Next: Text selecting and searching commands,  Prev: Erasing commands,  Up: How the editor works
  3359.  
  3360. 4.2.2 Cursor moving commands
  3361. ----------------------------
  3362.  
  3363.    * <Ctrl+S> or <Arrow left> moves the cursor one character left.
  3364.  
  3365.    * <Ctrl+D> or <Arrow right> moves the cursor one character right.
  3366.  
  3367.    * <Ctrl+E> or <Arrow up> moves the cursor one line up.
  3368.  
  3369.    * <Ctrl+X> or <Arrow down> moves the cursor one line down.
  3370.  
  3371.    * <Ctrl+A> moves the cursor one word left.
  3372.  
  3373.    * <Ctrl+F> moves the cursor one word right.
  3374.  
  3375.    * <Ctrl+C> or <Page down> moves the cursor one page down.
  3376.  
  3377.    * <Ctrl+R> or <Page up> moves the cursor one page up.
  3378.  
  3379.    * <Ctrl+Q+D> or <End> moves the cursor to the end of the line.
  3380.  
  3381.    * <Ctrl+Q+S> or <Home> moves the cursor to the beginning of the line.
  3382.  
  3383.    * <Ctrl+Q+R> or <Ctrl+PgUp> or `Ctrl+Home' moves the cursor to the
  3384.      beginning of the file.
  3385.  
  3386.    * <Ctrl+Q+C> or <Ctrl+PgDown> or `Ctrl+End' moves the cursor to the end
  3387.      of the file.
  3388.  
  3389. 
  3390. File: rhide.inf,  Node: Text selecting and searching commands,  Next: Block commands,  Prev: Cursor moving commands,  Up: How the editor works
  3391.  
  3392. 4.2.3 Text selecting and searching commands
  3393. -------------------------------------------
  3394.  
  3395.    * <Shift> cursor keys select the text as the cursor moves.
  3396.  
  3397.    * <Ctrl+Ins> or <Ctrl+K+K> copy the selected text to the clipboard.
  3398.  
  3399.    * <Shift+Del> or <Ctrl+K+Y> move the selected text to the clipboard.
  3400.  
  3401.    * <Shift+Ins> or <Ctrl+K+C> copy the selected text from the clipboard
  3402.      to the current cursor position.
  3403.  
  3404.    * <Ctrl+Del> delete the selected text.
  3405.  
  3406.    * <Ctrl+Q+A> open the replace dialog.
  3407.  
  3408.    * <Ctrl+Q+F> open the find dialog.
  3409.  
  3410.    * <Ctrl+L> repeat the last replace or find operation.
  3411.  
  3412.    * <Ctrl+K+H> unselect all.
  3413.  
  3414. 
  3415. File: rhide.inf,  Node: Block commands,  Next: Other commands,  Prev: Text selecting and searching commands,  Up: How the editor works
  3416.  
  3417. 4.2.4 Block commands
  3418. --------------------
  3419.  
  3420.    * <Ctrl+K+B> sets the start of the selected block.
  3421.  
  3422.    * <Ctrl+K+K> sets the end of the selected block.
  3423.  
  3424.    * <Ctrl+K+I> indents the selected block by inserting a space at the
  3425.      beginning of each line inside the block.
  3426.  
  3427.    * <Ctrl+K+U> unindents the selected block by erasing one character from
  3428.      the beginning of each line inside the block, which starts with a tab
  3429.      or space.
  3430.  
  3431.    * <Ctrl+K+M> converts all alpha characters inside the selected block to
  3432.      upper case.
  3433.  
  3434.    * <Ctrl+K+O> converts all alpha characters inside the selected block to
  3435.      lower case.
  3436.  
  3437.    * <Ctrl+K+V> moves the selected block to the current cursor position.
  3438.  
  3439.    * <Ctrl+K+Tab> indents the selected block by using the last non
  3440.      selected line as reference for indenting.
  3441.  
  3442.    * <Ctrl+K+Shift+Tab> unindents the selected block by using the last
  3443.      non-selected line as reference for unindenting.
  3444.  
  3445.    * <Ctrl+K+R> inserts the contents of a file at the current cursor
  3446.      position.
  3447.  
  3448.    * <Ctrl+K+W> writes the selected block to a file.
  3449.  
  3450. 
  3451. File: rhide.inf,  Node: Other commands,  Prev: Block commands,  Up: How the editor works
  3452.  
  3453. 4.2.5 Other commands
  3454. --------------------
  3455.  
  3456.    * <Ctrl+V> Toggle insert-/overwrite-mode.
  3457.  
  3458.    * <Ctrl+O> Toggle auto-indent-mode on/off.
  3459.  
  3460.    * <Ctrl+J> Goto line ... (Will be prompted for.)
  3461.  
  3462.    * <Ctrl+K+?> ?, a digit (<0> - <9>). Set a marker in the text (up to
  3463.      ten different markers).
  3464.  
  3465.    * <Ctrl+Q+?> ?, a digit (<0> - <9>). Jump to a marker, which you have
  3466.      previously set.
  3467.  
  3468.    * <Shift+Space> Executes a macro, which can be defined externally by
  3469.      analyzing the last two characters before the cursor.  (*Note Defining
  3470.      macros::)
  3471.  
  3472. If you have set some markers, they will be stored, so you can use them
  3473. later when restarting RHIDE.
  3474.  
  3475. 
  3476. File: rhide.inf,  Node: Some hints and problems,  Next: Project window,  Prev: How the editor works,  Up: Detailed description of some parts of RHIDE
  3477.  
  3478. 4.3 Some hints and problems
  3479. ===========================
  3480.  
  3481. To compile only a single file, you don't need to include it in a project.
  3482. You only have to open it and do a compile. If a file is in your project,
  3483. you can compile it, if you are in its editor-window or if you are in the
  3484. project-window and this file is selected.
  3485.  
  3486. Warnings and errors from compiling a file are listed in the message-window.
  3487. If there are warnings or errors, you can jump to the corresponding source
  3488. by hitting <ENTER> on this message. If this file wasn't already opened, it
  3489. will be opened.
  3490.  
  3491. * Menu:
  3492.  
  3493. * Problems with automatic dependencies::
  3494.  
  3495. 
  3496. File: rhide.inf,  Node: Problems with automatic dependencies,  Prev: Some hints and problems,  Up: Some hints and problems
  3497.  
  3498. 4.3.1 Problems with automatic dependencies
  3499. ------------------------------------------
  3500.  
  3501. Most checking of the dependencies works correctly, but there are some few
  3502. situations, where this checking gets confused. The first results in the
  3503. fact that I implemented a cache function for getting the modification time
  3504. of files, that means, most files are 'stat'ed only once, after starting
  3505. RHIDE. But if someone modifies one of the files, which are in the cache,
  3506. (this can be another program, when you run RHIDE in a multitasking
  3507. environment, such as Windows) or if you run your project and it modifies
  3508. some of these files, the internal cache is after this not up to date.
  3509.  
  3510. Here is another situation. Your source files are not in the current
  3511. directory. You have opened a source file for editing and successfully
  3512. built your project. Now you leave RHIDE, because you want to debug your
  3513. program with `FSDB', you copy the source file (in this case it is the
  3514. file, which you have opened in the IDE) to the current directory. Now you
  3515. debug it and there are some errors. You restart RHIDE to make the changes
  3516. in the file. The previously opened file will be opened automatically and
  3517. you edit it. If you do now a *Make*, RHIDE tells you, that your project is
  3518. up to date, because it searches for source files at first in the current
  3519. directory, and there is the unmodified file.
  3520.  
  3521. In this chapter I will give you for some special parts a more detailed
  3522. description of what they do.
  3523.  
  3524. 
  3525. File: rhide.inf,  Node: Project window,  Next: Builtin compiler specs,  Prev: Some hints and problems,  Up: Detailed description of some parts of RHIDE
  3526.  
  3527. 4.4 Project window
  3528. ==================
  3529.  
  3530. The project window shows you every file, which you have included in your
  3531. project. Most time you work with RHIDE this window should be visible, but
  3532. you can also close it (*Note Close::).
  3533.  
  3534. * Menu:
  3535.  
  3536. * Items of your project::
  3537. * Open a project item::
  3538. * Dependencies of project item::
  3539. * Local options for a project item::
  3540.  
  3541. 
  3542. File: rhide.inf,  Node: Items of your project,  Next: Open a project item,  Prev: Project window,  Up: Project window
  3543.  
  3544. 4.4.1 Items of your project
  3545. ---------------------------
  3546.  
  3547. The items in the project window, and therefore also in your project, are
  3548. sorted in alphabetical order. This has the effect of faster finding an
  3549. item and you can also move the selecting bar to a specified item by typing
  3550. the name of this item.
  3551.  
  3552. Normally, the alphabetic order of the project items causes no problems
  3553. because the linker searches at first *every* object file for unresolved
  3554. symbols before any library. The statement, the the GNU linker is a one pass
  3555. linker makes sense only for libraries, because they are checked only once
  3556. for unresolved references. That means, if you include libraries in your
  3557. project you must know about the order, where this library is put on the
  3558. command line when linking your program.
  3559.  
  3560. If you have problems with that order, or if you really want to have one
  3561. object file (or library) before some others, you must rename them, to get
  3562. the right position from the name.
  3563.  
  3564. 
  3565. File: rhide.inf,  Node: Open a project item,  Next: Dependencies of project item,  Prev: Items of your project,  Up: Project window
  3566.  
  3567. 4.4.2 Open a project item
  3568. -------------------------
  3569.  
  3570. To open an editor window with the selected item press either <ENTER> or
  3571. <SPACE>. If there was already a window with this file opened on the
  3572. desktop, this window will be selected.  This works only if the selected
  3573. item has a known suffix (*Note Known suffixes::). If the selected item is
  3574. a project file, that project will be opened with the side effect that if
  3575. you close this project, the previous one will be reopened.
  3576.  
  3577. 
  3578. File: rhide.inf,  Node: Dependencies of project item,  Next: Local options for a project item,  Prev: Open a project item,  Up: Project window
  3579.  
  3580. 4.4.3 Dependencies of project item
  3581. ----------------------------------
  3582.  
  3583. If you have compiled a file already in RHIDE, you bring up a list with all
  3584. dependencies of that file. In this list the files are show by their
  3585. basename followed by the directory and they are also sorted in alphabetical
  3586. order. From here you can also open an editor window with the selected
  3587. dependency by pressing <SPACE> or <ENTER> on that item.
  3588.  
  3589. 
  3590. File: rhide.inf,  Node: Local options for a project item,  Prev: Dependencies of project item,  Up: Project window
  3591.  
  3592. 4.4.4 Local options for a project item
  3593. --------------------------------------
  3594.  
  3595. You can change many options for a project item, which are in effect only
  3596. for this file. To do this, hit <Ctrl+O> on the selected item and a dialog
  3597. is shown, where you can change the options.
  3598.  
  3599. At this time you can change the following options.
  3600.  
  3601. * Menu:
  3602.  
  3603. * Local commandline options::
  3604. * exclude from link::
  3605. * rebuild seldom::
  3606. * Name of the output file::
  3607. * Compiler type::
  3608. * User defined compiler::
  3609. * Error checking::
  3610. * Error program::
  3611.  
  3612. 
  3613. File: rhide.inf,  Node: Local commandline options,  Next: exclude from link,  Prev: Local options for a project item,  Up: Local options for a project item
  3614.  
  3615. Local commandline options
  3616. .........................
  3617.  
  3618. Here you can give some additional defines or any other commandline
  3619. options, when compiling this item.
  3620.  
  3621. 
  3622. File: rhide.inf,  Node: exclude from link,  Next: rebuild seldom,  Prev: Local commandline options,  Up: Local options for a project item
  3623.  
  3624. exclude from link
  3625. .................
  3626.  
  3627. This is a switch to tell RHIDE, that this file should not be linked with
  3628. your program, but it is compiled and it is checked to determine if your
  3629. program is up to date.
  3630.  
  3631. 
  3632. File: rhide.inf,  Node: rebuild seldom,  Next: Name of the output file,  Prev: exclude from link,  Up: Local options for a project item
  3633.  
  3634. rebuild seldom
  3635. ..............
  3636.  
  3637. When you select this option the item is compiled only if it does not
  3638. already exist. For most project items this is not usefull but if you have
  3639. included in your project other projects which create a library this might
  3640. be usefull, especially if the library has many source files and you know,
  3641. that they change very seldom.
  3642.  
  3643. 
  3644. File: rhide.inf,  Node: Name of the output file,  Next: Compiler type,  Prev: rebuild seldom,  Up: Local options for a project item
  3645.  
  3646. Name of the output file
  3647. .......................
  3648.  
  3649. Here you can specify another name as the compiled file. Put here only the
  3650. basename of the file (without any directory)
  3651.  
  3652. 
  3653. File: rhide.inf,  Node: Compiler type,  Next: User defined compiler,  Prev: Name of the output file,  Up: Local options for a project item
  3654.  
  3655. Compiler type
  3656. .............
  3657.  
  3658. From that list you can select exactly one type of the compiler, which is
  3659. used to create your output file. Possible values are:
  3660.  
  3661. `Auto'
  3662.      This is the default and should be used in most cases. When this type
  3663.      is selected, RHIDE selects the correct compiler depending on the
  3664.      suffixes of your source and output file.
  3665.  
  3666. `User'
  3667.      If you have any special compiler, which is not known to RHIDE, to
  3668.      create your output file, you must select this and give RHIDE also the
  3669.      calling syntax of that compiler (see below)
  3670.  
  3671. `None'
  3672.      If you don't want to compile this item select this.
  3673.  
  3674. `GNU C compiler'
  3675.      Tell RHIDE to compile this file like a normal GNU C source file.
  3676.  
  3677. `GNU C++ compiler'
  3678.      Tell RHIDE to compile this file like a normal GNU C++ source file.
  3679.  
  3680. `GNU assembler'
  3681.      Tell RHIDE to compile this file like a normal GNU assembler file.
  3682.  
  3683. `GNU Pascal compiler'
  3684.      Tell RHIDE to compile this file like a normal GNU Pascal file.
  3685.  
  3686. 
  3687. File: rhide.inf,  Node: User defined compiler,  Next: Error checking,  Prev: Compiler type,  Up: Local options for a project item
  3688.  
  3689. User defined compiler
  3690. .....................
  3691.  
  3692. If you have selected the User compiler type, you have to put in the next
  3693. input line the specs on how to call the compiler. These specs can use any
  3694. variables that are known to RHIDE (*Note Builtin variables::) together
  3695. with normal text. As an example I show here, how the builtin C compiler is
  3696. defined (the backslashes at the end of the lines are used only here to
  3697. show, that the line is continued, they are NOT part of the specs):
  3698.  
  3699.  
  3700. $(RHIDE_GCC) $(INCLUDE_DIRS) $(C_DEBUG_FLAGS) $(C_OPT_FLAGS) \
  3701. $(C_WARN_FLAGS) $(C_C_LANG_FLAGS) $(C_EXTRA_FLAGS) $(LOCAL_OPT) \
  3702. -c $(SOURCE_NAME) -o $(OUTFILE)
  3703.  
  3704. 
  3705. File: rhide.inf,  Node: Error checking,  Next: Error program,  Prev: User defined compiler,  Up: Local options for a project item
  3706.  
  3707. Error checking
  3708. ..............
  3709.  
  3710. Here you can select how errors or warnings that are produced by the
  3711. compiler, are checked. Possible values are:
  3712.  
  3713. `Auto'
  3714.      Let RHIDE select the correct way for checking the errors
  3715.  
  3716. `User'
  3717.      Use your own external program to check the output of the compiler to
  3718.      `stderr'
  3719.  
  3720. `None'
  3721.      Do not check any errors, assume that the compiler does it's job every
  3722.      time successfully.
  3723.  
  3724. `builtin C'
  3725.      Check the errors like when compiling a C file
  3726.  
  3727. `builtin assembler'
  3728.      Check the errors like when compiling an assembler file
  3729.  
  3730. `builtin linker'
  3731.      Check the errors like when linking
  3732.  
  3733. `return value'
  3734.      Determine only if the compiling was successful or not by checking the
  3735.      return value of the compiler (zero for success)
  3736.  
  3737. 
  3738. File: rhide.inf,  Node: Error program,  Prev: Error checking,  Up: Local options for a project item
  3739.  
  3740. Error program
  3741. .............
  3742.  
  3743. If you have selected above the User error checking, type here the program,
  3744. which should check for errors and/or warnings.  What the external error
  3745. checking program should do:
  3746.  
  3747.    - The program must take a filename as argument, which contain the
  3748.      output to stderr from the compiler (Error and warning messages)
  3749.  
  3750.    - The program has to write to stdout the Warnings, Errors or messages
  3751.      in a special format.
  3752.  
  3753.     `Errors'
  3754.           A line that starts with the string "!Error" (without the double
  3755.           quotes) optionally followed by "!File" and a filename in single
  3756.           quotes and "!Line" followed by a space and a line number and
  3757.           "!Column" followed by a space and a coloumn number.
  3758.  
  3759.           If "!Line" and/or "!Column" are not used they dafault to 0.  The
  3760.           next line contain the error text.  Example:
  3761.  
  3762.  
  3763.           !Error!File'test.c'!line17
  3764.           This is a sample error message
  3765.  
  3766.           This means, that in file 'test.c' at line 17 an error occurred
  3767.           with the description 'This is a sample error message'
  3768.  
  3769.     `Warnings'
  3770.           Warnings have the same format, except that !Error is replaced by
  3771.           !Warning.
  3772.  
  3773.     `Any other line'
  3774.           is treated as a simple message optionally preceeded by !File and
  3775.           !Line.
  3776.  
  3777. 
  3778. File: rhide.inf,  Node: Builtin compiler specs,  Next: Builtin variables,  Prev: Project window,  Up: Detailed description of some parts of RHIDE
  3779.  
  3780. 4.5 Builtin compiler specs
  3781. ==========================
  3782.  
  3783. WARNING: THE LIST OF VARIABLES AND STRINGFUNCTIONS DESCRIBED BELOW MIGHT
  3784. NOT BE UPTODATE. IF YOU WANT TO GET INFORMATION ABOUT ALL FEATURES PLEASE
  3785. LOOK IN THE SOURCES FOR RHIDE.
  3786.  
  3787. RHIDE uses for compiling, linking, and the other stages of generating a
  3788. file also specs, like you can change in the local options for a project
  3789. item (*Note Local options::). Here the specs, which are used currently:
  3790.  
  3791. $(RHIDE_COMPILE_C)
  3792.      For compiling C source files
  3793.  
  3794. $(RHIDE_COMPILE_CC)
  3795.      For compiling C++ source files
  3796.  
  3797. $(RHIDE_COMPILE_ASM)
  3798.      For compiling assembler source files
  3799.  
  3800. $(RHIDE_COMPILE_PASCAL)
  3801.      For compiling Pascal source files
  3802.  
  3803. $(RHIDE_COMPILE_OBJC)
  3804.      For compiling objective C source files
  3805.  
  3806. $(RHIDE_COMPILE_LINK)
  3807.      For linking
  3808.  
  3809. $(RHIDE_COMPILE_LINK_PASCAL)
  3810.      For linking when the project contain Pascal source files
  3811.  
  3812. $(RHIDE_COMPILE_LINK_PASCAL_AUTOMAKE)
  3813.      This spec is used only, when you have set the (*Note Primary file::),
  3814.      to tell RHIDE, not to check for dependencies but to use the 'automake'
  3815.      feature of GPC.
  3816.  
  3817. $(RHIDE_COMPILE_ARCHIVE)
  3818.      For creating a library
  3819.  
  3820. $(RHIDE_FSDB)
  3821.      For calling FSDB.
  3822.  
  3823. $(RHIDE_GDB)
  3824.      For calling GDB.
  3825.  
  3826. $(RHIDE_GPROF)
  3827.      For calling GPROF.
  3828.  
  3829. $(RHIDE_GREP)
  3830.      For calling grep.
  3831.  
  3832. All of these specs have a default content in RHIDE, but they can be
  3833. overwritten by setting the environment variable with the same name and any
  3834. other contents.
  3835.  
  3836. 
  3837. File: rhide.inf,  Node: Builtin variables,  Next: Change the defaults of RHIDE,  Prev: Builtin compiler specs,  Up: Detailed description of some parts of RHIDE
  3838.  
  3839. 4.6 Builtin variables
  3840. =====================
  3841.  
  3842. This section describes, which variables can be used within RHIDE to get
  3843. values from some of the configurations, which you have made inside RHIDE.
  3844.  
  3845. All of these variables are referenced by a name enclosed in parentheses
  3846. preceeded by a dollar sign. Example: `$(RHIDE_GCC)'. You can overwrite any
  3847. of the following variables, if you define in your environment the same
  3848. variable with any contents you want.
  3849.  
  3850. When RHIDE tries to get the contents of such a variable, it searches at
  3851. first if it is found in it's internal database. If it was not found, the
  3852. environment is checked for such a variable and if that fails, the
  3853. resulting value is the variable itself.
  3854.  
  3855. In addition to the use of variables, RHIDE has a limited ability of using
  3856. string manipulating functions. I have implemented some of the functions,
  3857. which are available with GNU make. They have the same name and should work
  3858. exactly like the GNU make counterpart.
  3859.  
  3860. `$(strip arg)'
  3861.      This function removes any leading and trailing whitespace and converts
  3862.      all multispaces to single spaces from the (whitespace separated list)
  3863.      `arg'.
  3864.  
  3865. `$(addsuffix arg1,arg2)'
  3866.      These functions append on each argument from the whitespace separated
  3867.      list `arg2' the string `arg1'.
  3868.  
  3869. `$(addprefix arg1,arg2)'
  3870.      This is the same as `$(addsuffix arg1,arg2)', except that it puts the
  3871.      string `arg1' before each argument from `arg2'.
  3872.  
  3873. `$(notdir arg)'
  3874.      This removes any directory part from the argument `arg'.
  3875.  
  3876. `$(dir)'
  3877.      This extracts only the directory part from the argument `arg'. If
  3878.      there was no directory in `arg', an empty string is returned. (The
  3879.      directory contains also the drive letter, if there was one)
  3880.  
  3881. `$(subst arg1,arg2,arg3)'
  3882.      This replaces every occurrence of `arg1' in `arg3' with `arg2'
  3883.  
  3884. The following variables have a special meaning in RHIDE with the default
  3885. contents:
  3886. $(RHIDE_GCC)
  3887.      GCC
  3888.  
  3889. $(RHIDE_AS)
  3890.      GCC
  3891.  
  3892. $(RHIDE_GXX)
  3893.      GCC
  3894.  
  3895. $(RHIDE_GPC)
  3896.      GPC
  3897.  
  3898. $(RHIDE_AR)
  3899.      ar
  3900.  
  3901. $(RHIDE_LD)
  3902.      GCC
  3903.  
  3904. $(RHIDE_LD_PASCAL)
  3905.      GPC
  3906.  
  3907. $(RHIDE_ARFLAGS)
  3908.      rcs
  3909.  
  3910. $(RHIDE_INCLUDES)
  3911.      $(SPECIAL_CFLAGS) $(addprefix -I,$(INCLUDE_DIRS))
  3912.  
  3913. $(RHIDE_LIBDIRS)
  3914.      $(addprefix -L,$(LIB_DIRS))
  3915.  
  3916. $(RHIDE_LIBS)
  3917.      $(addprefix -l,$(LIBS))
  3918.  
  3919. $(RHIDE_LDFLAGS)
  3920.      $(SPECIAL_LDFLAGS) $(addprefix -Xlinker ,$(LD_EXTRA_FLAGS))
  3921.  
  3922. $(RHIDE_COMPILE_C)
  3923.      $(RHIDE_GCC) $(RHIDE_INCLUDES) $(C_DEBUG_FLAGS) \
  3924.      $(C_OPT_FLAGS) $(C_WARN_FLAGS) $(C_C_LANG_FLAGS) \
  3925.      $(C_EXTRA_FLAGS) $(LOCAL_OPT) -c $(SOURCE_NAME) \
  3926.      -o $(OUTFILE)
  3927.  
  3928. $(RHIDE_COMPILE_C_FORCE)
  3929.      $(RHIDE_GCC) $(RHIDE_INCLUDES) $(C_DEBUG_FLAGS) \
  3930.      $(C_OPT_FLAGS) $(C_WARN_FLAGS) $(C_C_LANG_FLAGS) \
  3931.      $(C_EXTRA_FLAGS) -x c $(LOCAL_OPT) -c $(SOURCE_NAME) \
  3932.      -o $(OUTFILE)
  3933.  
  3934. $(RHIDE_COMPILE_CC)
  3935.      $(RHIDE_GXX) $(RHIDE_INCLUDES) $(C_DEBUG_FLAGS) \
  3936.      $(C_OPT_FLAGS) $(C_WARN_FLAGS) $(C_C_LANG_FLAGS) \
  3937.      $(C_CXX_LANG_FLAGS) $(C_EXTRA_FLAGS) $(LOCAL_OPT) \
  3938.      -c $(SOURCE_NAME) -o $(OUTFILE)
  3939.  
  3940. $(RHIDE_COMPILE_CC_FORCE)
  3941.      $(RHIDE_GXX) $(RHIDE_INCLUDES) $(C_DEBUG_FLAGS) \
  3942.      $(C_OPT_FLAGS) $(C_WARN_FLAGS) $(C_C_LANG_FLAGS) \
  3943.      $(C_CXX_LANG_FLAGS) $(C_EXTRA_FLAGS) -c c++ $(LOCAL_OPT) \
  3944.      -c $(SOURCE_NAME) -o $(OUTFILE)
  3945.  
  3946. $(RHIDE_COMPILE_ASM)
  3947.      $(RHIDE_AS) $(RHIDE_INCLUDES) $(C_DEBUG_FLAGS) \
  3948.      $(C_OPT_FLAGS) $(C_WARN_FLAGS) $(C_EXTRA_FLAGS) \
  3949.      $(LOCAL_OPT) -c $(SOURCE_NAME) -o $(OUTFILE)
  3950.  
  3951. $(RHIDE_COMPILE_ASM_FORCE)
  3952.      $(RHIDE_AS) $(RHIDE_INCLUDES) $(C_DEBUG_FLAGS) \
  3953.      $(C_OPT_FLAGS) $(C_WARN_FLAGS) $(C_EXTRA_FLAGS) \
  3954.      -x assembler $(LOCAL_OPT) -c $(SOURCE_NAME) \
  3955.      -o $(OUTFILE)
  3956.  
  3957. $(RHIDE_GPC_FLAGS)
  3958.      $(RHIDE_INCLUDES) $(C_DEBUG_FLAGS) $(C_OPT_FLAGS) \
  3959.      $(C_WARN_FLAGS) $(C_P_LANG_FLAGS) $(C_EXTRA_FLAGS)
  3960.  
  3961. $(RHIDE_COMPILE_PASCAL)
  3962.      $(RHIDE_GPC) $(RHIDE_GPC_FLAGS) $(LOCAL_OPT) \
  3963.      -c $(SOURCE_NAME) -o $(OUTFILE)
  3964.  
  3965. $(RHIDE_COMPILE_PASCAL_FORCE)
  3966.      $(RHIDE_GPC) $(RHIDE_GPC_FLAGS) -x pascal \
  3967.      $(LOCAL_OPT) -c $(SOURCE_NAME) -o $(OUTFILE)
  3968.  
  3969. $(RHIDE_COMPILE_LINK)
  3970.      $(RHIDE_LD) $(RHIDE_LIBDIRS) $(C_EXTRA_FLAGS) \
  3971.      $(RHIDE_LDFLAGS) -o $(OUTFILE) $(OBJFILES) \
  3972.      $(LIBRARIES) $(RHIDE_LIBS)
  3973.  
  3974. $(RHIDE_COMPILE_LINK_PASCAL)
  3975.      $(RHIDE_LD_PASCAL) $(RHIDE_LIBDIRS) $(C_EXTRA_FLAGS) \
  3976.      $(RHIDE_LDFLAGS) -o $(OUTFILE) $(OBJFILES) \
  3977.      $(LIBRARIES) $(RHIDE_LIBS)
  3978.  
  3979. $(RHIDE_COMPILE_LINK_PASCAL_AUTOMAKE)
  3980.      $(RHIDE_LD_PASCAL) $(RHIDE_LIBDIRS) $(RHIDE_LDFLAGS) \
  3981.      -o $(OUTFILE) \
  3982.      --automake=\"$(strip $(RHIDE_GPC_FLAGS))\" \
  3983.      $(RHIDE_GPC_FLAGS) $(SOURCE_NAME) $(LIBRARIES) $(RHIDE_LIBS)
  3984.  
  3985. $(RHIDE_COMPILE_ARCHIVE)
  3986.      $(RHIDE_AR) $(RHIDE_ARFLAGS) $(OUTFILE) $(OBJFILES)
  3987.  
  3988. $(RHIDE_FSDB)
  3989.      fsdb $(OUTFILE) $(addprefix -p ,$(SRC_DIRS)) $(PROG_ARGS)
  3990.  
  3991. $(RHIDE_GDB)
  3992.      gdb $(OUTFILE) $(addprefix -d ,$(SRC_DIRS))
  3993.  
  3994. $(RHIDE_GREP)
  3995.      grep -n $(prompt arguments for GREP)
  3996.  
  3997. $(RHIDE_GPROF)
  3998.      gprof $(OUTFILE)
  3999.  
  4000. The following are not used as real variables, but they are used to get the
  4001. contents of options from RHIDE. But you can override them also by setting
  4002. them as an environment variable.
  4003.  
  4004. $(INCLUDE_DIRS)
  4005.      All the include directories
  4006.  
  4007. $(LIB_DIRS)
  4008.      All the library directories
  4009.  
  4010. $(SOURCE_NAME)
  4011.      The actual compiled source file
  4012.  
  4013. $(OUTFILE)
  4014.      The actual created file
  4015.  
  4016. $(C_DEBUG_FLAGS)
  4017.      All the debugging flags
  4018.  
  4019. $(C_OPT_FLAGS)
  4020.      All the optimization flags
  4021.  
  4022. $(C_WARN_FLAGS)
  4023.      All the warning flags
  4024.  
  4025. $(C_C_LANG_FLAGS)
  4026.      All the C language flags
  4027.  
  4028. $(C_CXX_LANG_FLAGS)
  4029.      All the C++ language flags
  4030.  
  4031. $(C_P_LANG_FLAGS)
  4032.      All the Pascal language flags
  4033.  
  4034. $(LIBS)
  4035.      All the libraries, which are given in the libraries options
  4036.  
  4037. $(LD_EXTRA_FLAGS)
  4038.      All the additional linker options
  4039.  
  4040. $(LOCAL_OPT)
  4041.      All the local options for that project item
  4042.  
  4043. $(OBJFILES)
  4044.      All the destination files, which are part of the project and which
  4045.      are not a library and not excluded from linking
  4046.  
  4047. $(LIBRARIES)
  4048.      All the libraries, which are explicitly included in the project and
  4049.      not excluded from linking
  4050.  
  4051. $(SPECIAL_CFLAGS)
  4052.      Some special flags for `GCC'. Currently only the `-nostdlib' switch.
  4053.  
  4054. $(SPECIAL_LDFLAGS)
  4055.      Some special flags for `GCC' when linking. Currently only the
  4056.      switches `-pg' and `-nostdlib'.
  4057.  
  4058. $(prompt TITLE)
  4059.      RHIDE prompts for arguments which get the title `TITLE' and insert
  4060.      the parameters here.
  4061.  
  4062. 
  4063. File: rhide.inf,  Node: Change the defaults of RHIDE,  Next: Message window,  Prev: Builtin variables,  Up: Detailed description of some parts of RHIDE
  4064.  
  4065. 4.7 Change the defaults of RHIDE
  4066. ================================
  4067.  
  4068. If you have special wishes for compiling your source files, you can
  4069. configure for RHIDE mostly everything. For adding support for other than
  4070. the builtin known file types (*Note Builtin variables::). If you want to
  4071. change the behavior of RHIDE for compiling all the known file types you
  4072. should know at first really what you do. If you think, this is a good idea
  4073. or if you only want only check if it works you can do it.
  4074.  
  4075. Before RHIDE compiles any file (this includes also linking and building a
  4076. library) it searches the environment for a variable after the following
  4077. scheme: When compiling a file with suffix `.c' to a file with suffix `.o'
  4078. RHIDE checks for the variable $(RHIDE_COMPILE.c.o). If this variable is
  4079. defined the contents of this variable is taken as the compile spec.
  4080.  
  4081. If you want to change the specs for linking you must take as destination
  4082. suffix `.exe' or `.' and as source suffix the suffix of your object files.
  4083. Example:
  4084.  
  4085. $(RHIDE_COMPILE.o.)
  4086.  
  4087. 
  4088. File: rhide.inf,  Node: Message window,  Next: Syntax highlighting,  Prev: Change the defaults of RHIDE,  Up: Detailed description of some parts of RHIDE
  4089.  
  4090. 4.8 Message window
  4091. ==================
  4092.  
  4093. This window shows every time you compile a file the resulting messages,
  4094. which GCC produces. These messages were converted in a special format to
  4095. show them in the window. Some of the messages contain a file eventually
  4096. combined with a line number. If you press <ENTER> on such a message, the
  4097. corresponding source line in the file will be highlighted and the window
  4098. with this file will be selected. If this file is not already on the
  4099. desktop, it will be opened.
  4100.  
  4101. If the file, to which the messages refer, is already in the foreground you
  4102. can see the selected source line for your messages directly on the screen.
  4103.  
  4104. 
  4105. File: rhide.inf,  Node: Syntax highlighting,  Next: Checking the dependencies,  Prev: Message window,  Up: Detailed description of some parts of RHIDE
  4106.  
  4107. 4.9 Syntax highlighting
  4108. =======================
  4109.  
  4110. Syntax highlighting is now supported directly by the editor. It should
  4111. work in mostly every situation for all the supported types. Currently (in
  4112. RHIDE) only the C/C++ style syntax highlight and the Pascal style syntax
  4113. highlight are supported.
  4114.  
  4115. With which style a file is highlighted is chosen by RHIDE by checking the
  4116. suffix of the file and determining the file type from that suffix.  (*Note
  4117. Known suffixes::)
  4118.  
  4119. 
  4120. File: rhide.inf,  Node: Checking the dependencies,  Next: What is Turbo Vision,  Prev: Syntax highlighting,  Up: Detailed description of some parts of RHIDE
  4121.  
  4122. 4.10 Checking the dependencies
  4123. ==============================
  4124.  
  4125. This is one of the main parts of RHIDE. To speed up the work, I have added
  4126. a cache for checking the modification time of a file and for finding a
  4127. file (computing the full name of a file). But sometimes the data in the
  4128. cache isn't valid, especially when running under Windows. If you see this,
  4129. you can clear the cache by leaving RHIDE and starting again.
  4130.  
  4131. If you didn't do any special things but have problems with it, please run
  4132. RHIDE with the `-df' switch and try to find out, where the problem is and
  4133. post it to me so I can fix it.
  4134.  
  4135. 
  4136. File: rhide.inf,  Node: What is Turbo Vision,  Next: How the dialogs work,  Prev: Checking the dependencies,  Up: Detailed description of some parts of RHIDE
  4137.  
  4138. 4.11 What is Turbo Vision
  4139. =========================
  4140.  
  4141. The Turbo Vision library is part of Turbo C++ version 3.1. I have ported
  4142. this library to use with DJGPP because I think it is the most powerful
  4143. text windowing library, which is available for MS-DOS. With the help of
  4144. this library you can write a front end application which looks very well
  4145. and has an interface that is easy to use.
  4146.  
  4147. The Turbo Vision library is not only a window based text user interface,
  4148. it is also a very good event handling mechanism. It supports the use of
  4149. the mouse and keyboard with the ability of defining and using of hotkeys.
  4150. That means, you can assign to some key or combinations of keys, which
  4151. function should be executed.
  4152.  
  4153. The main parts of an application, which is using this library, are the
  4154. desktop, the menu bar and the status line. The menu bar is usually shown
  4155. as the topmost line of the screen. There are shown the main parts of the
  4156. pull down menus, from where you can select the most functions, which are
  4157. implemented in an application.
  4158.  
  4159. To use the menu you can use the mouse as well the keyboard. With the mouse
  4160. you can click every where on a menu entry and the corresponding function
  4161. will be executed. There are some different actions, which a menu entry can
  4162. have. At first some of them, these are, for example, all the entries in the
  4163. menu bar, open a submenu with more menu entries which are related to the
  4164. name of this main entry. And the others, most in such a submenu, execute a
  4165. definite function of the application.
  4166.  
  4167. With the keyboard you can walk through the menu very simply. Press <F10>
  4168. to activate the menu bar. In the pull down menus you can use the cursor
  4169. keys to move the highlighted bar up and down and with the cursor right and
  4170. left keys you can switch to next or previous menu. With the <ENTER> key
  4171. you activate the function, which corresponds to this entry. If this was a
  4172. submenu, which is indicated with a symbol like a small right arrow, this
  4173. will be opened.
  4174.  
  4175. If you walk through the menu with the cursor keys or the mouse (hold the
  4176. left mouse button down and move the mouse) in the status line will be
  4177. shown for each entry a short hint for the function of this menu entry.
  4178.  
  4179. 
  4180. File: rhide.inf,  Node: How the dialogs work,  Next: Defining macros,  Prev: What is Turbo Vision,  Up: Detailed description of some parts of RHIDE
  4181.  
  4182. 4.12 How the dialogs work
  4183. =========================
  4184.  
  4185. In a dialog, like the file open dialog, are many things which you can
  4186. select or where you can type in some data. At first some general
  4187. functions. If you press <ESC> the dialog will be closed and nothing will
  4188. be changed. The same can be done with the mouse by clicking on the close
  4189. symbol (this is the small symbol on upper left frame of the dialog).
  4190.  
  4191. In the next paragraphs I will describe the most used elements of a dialog.
  4192. For selecting each element of a dialog you can use the <Tab> key to select
  4193. the next element in the dialog or the `Shift+Tab' key, to select the
  4194. previous element.
  4195.  
  4196. A button is a rectangle with some text on it. If you activate such a
  4197. button a specified action is executed. To select a button you can use the
  4198. <Tab> key, until the button is specially highlighted and press <ENTER>
  4199. then. Most times a character of the text on this button has a different
  4200. color. So you can press <Alt> plus this character to activate the button.
  4201. With the mouse you can simply click on a button to activate it.
  4202.  
  4203. A Listbox is a collection of some strings in one or more columns and rows
  4204. as needed. The project window (*Note Project window::) is such a Listbox
  4205. with the names of the project items. You can use the cursor keys to move
  4206. the focus bar in the list, or if it is a sorted Listbox, you can also type
  4207. some characters and the focus will move to the item, which starts with
  4208. these characters. To select a item in a list box, press <SPACE> or <ENTER>
  4209. or double click with mouse on it.
  4210.  
  4211. In an input line you can type some text which can be edited with the usual
  4212. editing keys.
  4213.  
  4214. A checkbox is a collection of options, which can be turned on or off.
  4215. Each option has in front of it a small indicator, if it is turned on (an X
  4216. is shown) or not (the X is not shown). To toggle such an option, use the
  4217. cursor keys to move the focus to the option you want and press <SPACE> or,
  4218. if a character in an option string is highlighted you can press this key
  4219. and the option will be turned on or off or click with the mouse on the
  4220. option.
  4221.  
  4222. Radiobuttons are similar to Checkboxes, but there you can select only one
  4223. of all the shown options.
  4224.  
  4225. 
  4226. File: rhide.inf,  Node: Defining macros,  Next: The INFO Viewer,  Prev: How the dialogs work,  Up: Detailed description of some parts of RHIDE
  4227.  
  4228. 4.13 Defining macros
  4229. ====================
  4230.  
  4231. Please look for a detailed documentation here: see *Note Documentation
  4232. about Pseudo Macros: (editor)Pseudo Macros,
  4233.  
  4234. 
  4235. File: rhide.inf,  Node: The INFO Viewer,  Next: RCS and RHIDE,  Prev: Defining macros,  Up: Detailed description of some parts of RHIDE
  4236.  
  4237. 4.14 The INFO Viewer
  4238. ====================
  4239.  
  4240. The integrated help system of RHIDE is based on the INFO Viewer written by
  4241. SALVADOR EDUARDO TROPEA (SET) <ice@inti.edu.ar>. It gives you access to
  4242. all the INFO files which you have installed in the correct directories as
  4243. is done for `info.exe'.
  4244.  
  4245. To get help about the INFO Viewer hit <F1> when the help-window is opened
  4246. or follow this link to see *Note Top: (infview)Top.
  4247.  
  4248. In addition to getting help with this system you can also copy text from
  4249. the help screen to the clipboard. This is useful if you want for instance
  4250. to copy an example from the libc reference in your program. This feature
  4251. is not so powerful as in the editor, but it is good enough. To mark some
  4252. text use the <Shift> and cursor keys and copy the selected text with
  4253. `Ctrl+Ins' to the clipboard.
  4254.  
  4255. In RHIDE you have also the possibility to get help about a specific
  4256. function. Currently this works only for functions, which are documented in
  4257. the libc reference. For doing this, move the cursor to the function and
  4258. hit <Ctrl+F1> or click with the right button of the mouse on that word.
  4259.  
  4260. 
  4261. File: rhide.inf,  Node: RCS and RHIDE,  Prev: The INFO Viewer,  Up: Detailed description of some parts of RHIDE
  4262.  
  4263. 4.15 RCS and RHIDE
  4264. ==================
  4265.  
  4266. RHIDE knows a little bit about RCS, the Revision Control System. Since RCS
  4267. is available also for DJGPP I enabled now some features to use RHIDE also
  4268. on packages which use RCS.
  4269.  
  4270. RHIDE can handle RCS files in the way, that it searches for a checked in
  4271. source file if the normal source file was not found. The complicatest part
  4272. here was to determin the correct RCS file name from the source name.
  4273. (Especially under DJGPP this is a problem since under raw DOS it is not
  4274. possible to use names like 'foo.c,v').
  4275.  
  4276. So I decided to use the external program `rlog' which comes with the RCS
  4277. package to determine the actual correct RCS source name. I did so because
  4278. the DJGPP implementation knows enough about the DOS limitation and how to
  4279. solve them.
  4280.  
  4281. This help here is not ment to be a RCS introduction. If you don't know
  4282. what RCS is or what can be done with it, please look in the manuals wich
  4283. come with RCS.
  4284.  
  4285. Here now what RHIDE knows about the RCS files. If a source file was not
  4286. found, it's RCS name is computed with the spec `$(RHIDE_RLOG)' which
  4287. defaults to `$(shell rlog -R $(rlog_arg))' where `$(rlog_arg)' is
  4288. substituted at runtime with the actual wanted source file.
  4289.  
  4290. This spec can be overwritten to speed it up. An example for this can be
  4291. found in the distributed sample environment file `rhide_.env'.
  4292.  
  4293. When RHIDE only wants to compile the file or only to get the modification
  4294. time it is temporary checked out (without locking it) and after the needed
  4295. operation (compiling) it is removed (for checking the modification time it
  4296. is not checked out, but the time form the RCS file is taken).
  4297.  
  4298. If you want to open that file for editing the same is done but now it is
  4299. checked out with setting a lock and it is not checked in after closing the
  4300. window. The spec for checking the file out is `$(RHIDE_CO)' which can be
  4301. overwritten also and it defaults to `$(shell co -q $(co_arg))' where the
  4302. switch `-l' is added when it is checked out for edititing otherwise
  4303. `$(co_arg)' is substituted at runtime only with the wanted source file.
  4304.  
  4305. 
  4306. File: rhide.inf,  Node: Debugging with RHIDE,  Next: Debugging with RHGDB,  Prev: Detailed description of some parts of RHIDE,  Up: Top
  4307.  
  4308. 5. Debugging with RHIDE
  4309. ***********************
  4310.  
  4311. For debugging your programs you need now no external debugger, because
  4312. RHIDE has one integrated. The integrated debugger is not code which I have
  4313. written, but it is GDB 4.16, which is linked in RHIDE.
  4314.  
  4315. Because RHIDE uses a special method to communicate with GDB it is currently
  4316. not possible to use all of the features, which GDB has. I have implemented
  4317. at this time the most important functions, which are needed to debug your
  4318. program. So it is not possible to give GDB the same commands as when
  4319. running GDB stand alone. That means, if you need any very special feature
  4320. of GDB you must run GDB.
  4321.  
  4322. The integrated debugger is a real source level debugger like GDB. If you
  4323. step through your program you will see every time exactly where in the
  4324. sources you are. But to use the ability to debug your program needs, that
  4325. you have compiled your source files with debugging information and these
  4326. symbols must not have been stripped from the executable.
  4327.  
  4328. * Menu:
  4329.  
  4330. * Limitations of the integrated debugger::
  4331. * Dual display debugging::
  4332. * Using the integrated debugger::
  4333. * Problems with C++ programs::
  4334. * Using Breakpoints::
  4335.  
  4336. 
  4337. File: rhide.inf,  Node: Limitations of the integrated debugger,  Next: Dual display debugging,  Prev: Debugging with RHIDE,  Up: Debugging with RHIDE
  4338.  
  4339. 5.1 Limitations of the integrated debugger
  4340. ==========================================
  4341.  
  4342. Because the integrated debugger is GDB, you will have all the limitations
  4343. which GDB has in addition to well known DJGPP and/or MS-DOS limitations.
  4344. Here is a (not complete) list of known misfeatures:
  4345.  
  4346.    * Signals are not correctly handled every time by distinguishing between
  4347.      the debuggee and RHIDE
  4348.  
  4349.    * Remote debugging is NOT supported
  4350.  
  4351.    * Debugging of graphic programs may work or not depending on the
  4352.      software you are using. Currently only the VESA modes and the
  4353.      standard VGA graphic modes are supported.
  4354.  
  4355.    * When using the integrated debugger under Windows 3.1x (in Windows 95
  4356.      there is no such limitation) the number of breakpoints is limited to
  4357.      3, because you can use there only hardware breakpoints. The i386
  4358.      supports only 4 hardware breakpoints and 1 is needed for internal use.
  4359.      This is a common problem for all DJGPP debuggers. (Try to use FSDB
  4360.      with more than 3 breakpoints under Windows 3.1x)
  4361.  
  4362.    * Sometimes the source line, which is shown by RHIDE in assuming that
  4363.      the execution is there, is not correct. But this is NOT a bug of
  4364.      RHIDE and NOT of GDB. This is a bug in GCC which produces wrong line
  4365.      number information in the object files. Here is a very simple test
  4366.      program, with which you can see this problem.
  4367.  
  4368.           /* This is an example, that GCC produces wrong line number
  4369.              information for code which is optimized out. (compile this
  4370.              with -O) */
  4371.           
  4372.           int a = 1;
  4373.           int b = 2;
  4374.           
  4375.           int main()
  4376.           {
  4377.             if (a == b) return 0;
  4378.             if ((a + 1) == b) return 1;
  4379.             return 0; /* The debugger should never come here,
  4380.                          but it comes */
  4381.           }
  4382.  
  4383. 
  4384. File: rhide.inf,  Node: Dual display debugging,  Next: Using the integrated debugger,  Prev: Limitations of the integrated debugger,  Up: Debugging with RHIDE
  4385.  
  4386. 5.2 Dual display debugging
  4387. ==========================
  4388.  
  4389. RHIDE supports now also to use an installed dual display. This is when you
  4390. have installed in addition to your VGA card a monochrome display card
  4391. together with a monitor. RHIDE checks this by asking the BIOS if it is
  4392. present and if this is true and the option is enabled (*Note
  4393. Preferences::) then RHIDE switches automatically to the secondary display
  4394. when debugging and your program will run on the primary display.
  4395.  
  4396. With this debugging technique you will get the best debugging results
  4397. especially when debugging graphics programs.
  4398.  
  4399. To use the dual display with RHGDB use the `-D' switch for RHGDB.
  4400.  
  4401. 
  4402. File: rhide.inf,  Node: Using the integrated debugger,  Next: Problems with C++ programs,  Prev: Dual display debugging,  Up: Debugging with RHIDE
  4403.  
  4404. 5.3 Using the integrated debugger
  4405. =================================
  4406.  
  4407. If you are familiar with Borland's debugger, you will see, that most of
  4408. the functions of that debugger are implemented in the same or in a similar
  4409. way (this includes the key bindings).
  4410.  
  4411. * Menu:
  4412.  
  4413. * Stepping through the source code::
  4414. * Evaluating the contents of variables::
  4415. * Watching the contents of variables::
  4416.  
  4417. 
  4418. File: rhide.inf,  Node: Stepping through the source code,  Next: Evaluating the contents of variables,  Prev: Using the integrated debugger,  Up: Using the integrated debugger
  4419.  
  4420. 5.3.1 Stepping through the source code
  4421. --------------------------------------
  4422.  
  4423. For stepping through your code, there are three ways. This is at first the
  4424. Step-function <F8>. With this you execute a complete source line. If there
  4425. is a function call at the current execution point, this function is called
  4426. without debugging it. This technique is the same like the `next'-command
  4427. from GDB.
  4428.  
  4429. The next way is the Trace-function.  It is like the Step-function, <F7>,
  4430. except that if there is a function call at the current execution point,
  4431. you will go into this function when there is debugging information for
  4432. that function available.  This technique is the same as the `step'-command
  4433. from GDB.
  4434.  
  4435. And the third way is the Goto-Cursor-function. For this, move the cursor
  4436. to the line in your source code and press <F4>. Now the execution of your
  4437. program is continued until it comes to that line. Sometimes you will get
  4438. an error message, that for the specified line is no code generated.  This
  4439. comes from the optimization of your code by GCC. In this case try a line
  4440. below or above.
  4441.  
  4442. 
  4443. File: rhide.inf,  Node: Evaluating the contents of variables,  Next: Watching the contents of variables,  Prev: Stepping through the source code,  Up: Using the integrated debugger
  4444.  
  4445. 5.3.2 Evaluating the contents of variables
  4446. ------------------------------------------
  4447.  
  4448. You can evaluate also the the contents of variables, when your program has
  4449. been started. For this you can press `Ctrl+F4' and you will see a dialog,
  4450. where you can type in the expression to evaluate, a line with the result
  4451. and a line, where you can give the expression a new value. If you have
  4452. pressed this in an editor window, RHIDE tries to find the word under the
  4453. cursor and copies this as default in the expression input line. To get the
  4454. contents of this expression you have to press the *Evaluate*-button.
  4455.  
  4456. If the expression could not be evaluated so it is shown in the result line.
  4457. For the exact syntax of getting the contents of an expression see *Note
  4458. Expressions: (gdb)Expressions. You can also show the value of the
  4459. expression in several formats, see *Note Output Formats: (gdb)Output
  4460. Formats.
  4461.  
  4462. In addition to the functionality of the Borland debuggers, GDB (and of
  4463. course also RHIDE) can evaluate the result of function calls. If you have,
  4464. for example, in your debugged program a function
  4465.      int foo(int arg1)
  4466.      {
  4467.      /* do something and return a value */
  4468.      }
  4469. defined, you can type in the expression input line
  4470.      foo(16)
  4471. and you will get as result, what the function would return, if it is
  4472. called with the argument `16'. As arguments you can also use any known
  4473. variable or complex expressions.
  4474.  
  4475. A known limitation is, that the expressions are NOT checked for validity.
  4476. That means, you can produce any exception there, which will terminate your
  4477. program. As an example type in the expression input line
  4478. 3/0
  4479. And, of course, you cannot assign to a function call a new value.
  4480.  
  4481. As an special side effect you can use this also as a calculator. You can
  4482. evaluate any trivial or complex expression and this is also available, if
  4483. you haven't started the integrated debugger.
  4484.  
  4485. 
  4486. File: rhide.inf,  Node: Watching the contents of variables,  Prev: Evaluating the contents of variables,  Up: Using the integrated debugger
  4487.  
  4488. 5.3.3 Watching the contents of variables
  4489. ----------------------------------------
  4490.  
  4491. In addition to a single look at the contents of a variable, you can add
  4492. the variable to a list which is updated after each debugger step and is
  4493. shown in the watching window. For this function you can use the hotkey
  4494. `Ctrl+F7'.
  4495.  
  4496. Within the watch window you can press <Enter> on an expression to change
  4497. that expression (NOT the contents of that expression) or you can press
  4498. <Del> to remove the variable from the watch window.
  4499.  
  4500. 
  4501. File: rhide.inf,  Node: Problems with C++ programs,  Next: Using Breakpoints,  Prev: Using the integrated debugger,  Up: Debugging with RHIDE
  4502.  
  4503. 5.4 Problems with C++ programs
  4504. ==============================
  4505.  
  4506. Because GDB cannot handle correctly C++ debugging information when it is
  4507. generated as COFF debugging information (with stabs debugging information
  4508. there is no such limitation and you can skip reading more) you will have
  4509. many problems when debugging C++ programs to get the contents of a
  4510. variable when it is a member of a class. Because GDB does not detect, that
  4511. your program is a C++ program, it sees it as a normal C program and so GDB
  4512. does nothing know about classes and all what have to do with it.
  4513.  
  4514. For accessing the member of a baseclass you must do some tricks. Let me
  4515. explain it on an example:
  4516.  
  4517.      class A
  4518.      {
  4519.      public:
  4520.        int a;
  4521.      };
  4522.      
  4523.      class B : public A
  4524.      {
  4525.      public:
  4526.        void test();
  4527.      };
  4528.      
  4529.      void B::test()
  4530.      {
  4531.        fprintf(stdout,"%d\n",a);
  4532.      }
  4533.  
  4534. If you debug the program in the function `B::test()' and you want to get
  4535. the contents of the member `a', you have to access it with `this->A.a' !!!
  4536. That means: At first you must access all members with the implicit `this'
  4537. variable and at second you must give all baseclasses until that, where the
  4538. member was declared.
  4539.  
  4540. 
  4541. File: rhide.inf,  Node: Using Breakpoints,  Prev: Problems with C++ programs,  Up: Debugging with RHIDE
  4542.  
  4543. 5.5 Using Breakpoints
  4544. =====================
  4545.  
  4546. Breakpoints are a very useful thing when debugging a program. You can set
  4547. a breakpoint at any location of your program and run it. It will be
  4548. automatically stopped, if the program execution reaches the breakpoint.
  4549.  
  4550. * Menu:
  4551.  
  4552. * Setting a breakpoint::
  4553. * Modifying and setting a breakpoint::
  4554. * Problems with breakpoints::
  4555.  
  4556. 
  4557. File: rhide.inf,  Node: Setting a breakpoint,  Next: Modifying and setting a breakpoint,  Prev: Using Breakpoints,  Up: Using Breakpoints
  4558.  
  4559. 5.5.1 Setting a breakpoint
  4560. --------------------------
  4561.  
  4562. For setting a breakpoint there are two different ways. The first is by
  4563. setting a breakpoint at any line by pressing `Ctrl+F8'. You will see, that
  4564. there is a breakpoint set, that this line is shown in another color. If
  4565. you hit `Ctrl+F8' on a line, which has already a breakpoint, the
  4566. breakpoint at this line is removed.
  4567.  
  4568. 
  4569. File: rhide.inf,  Node: Modifying and setting a breakpoint,  Next: Problems with breakpoints,  Prev: Setting a breakpoint,  Up: Using Breakpoints
  4570.  
  4571. 5.5.2 Modifying and setting a breakpoint
  4572. ----------------------------------------
  4573.  
  4574. The second way is by setting a breakpoint with the breakpoint dialog which
  4575. is selectable only from the menu. There you will see any breakpoint for
  4576. your program. These breakpoints can be modified now in many things.  In
  4577. this dialog you can enable/disable a breakpoint. This is not the same as
  4578. deleting and resetting it. If you disable a breakpoint, it is stored
  4579. internally but it is not used. If you enable it again all the settings for
  4580. that breakpoint, which you have already made, are remembered.
  4581.  
  4582. In the breakpoint dialog you can also set or delete a breakpoint with the
  4583. given buttons. If you want to set a new breakpoint, use the New-Button.
  4584. Then you will get a dialog which you also get when you press the
  4585. Modify-Button. In this dialog you can change many things of the breakpoint.
  4586.  
  4587. In this dialog is the only point for setting a breakpoint at a specified
  4588. function. For doing this you must set at first the type of the breakpoint
  4589. to Function. Then you can type in the function input line the name of the
  4590. function or hit <Ctrl+F1> to get a list of functions which are available
  4591. from where you can select one with <Enter>.
  4592.  
  4593. For setting a breakpoint at a specified line, set the breakpoint type to
  4594. Line and type in the filename and the linenumber.
  4595.  
  4596. The next what you can modify on a breakpoint is a condition. That means
  4597. that the breakpoint should stop your program only, if the condition is
  4598. true. Write the condition in the programming language of your source file
  4599. and you can use any accessible variable and you can call also functions of
  4600. the debugged program. For other information about the syntax see *Note
  4601. Conditions: (gdb)Conditions.
  4602.  
  4603. And at last you can give your breakpoints also a count. A breakpoint count
  4604. is a number, how often this breakpoint is ignored. That means, if you type
  4605. there, for example, `10', then the RHIDE stops the execution of the program
  4606. only, if it comes to that point the tenth time. WARNING: This count is set
  4607. by RHIDE only once. After the breakpoint is really hit, from now on the
  4608. breakpoint stops your program every time, the breakpoint is reached.
  4609.  
  4610. 
  4611. File: rhide.inf,  Node: Problems with breakpoints,  Prev: Modifying and setting a breakpoint,  Up: Using Breakpoints
  4612.  
  4613. 5.5.3 Problems with breakpoints
  4614. -------------------------------
  4615.  
  4616. Currently there is a big problem, when you have set a breakpoint at a line
  4617. (not at a function) of your program and you edit now the source code. If
  4618. you insert or delete some lines the breakpoints, which are set at lines
  4619. after or at the modified lines are NOT updated to the correct line number.
  4620.  
  4621. 
  4622. File: rhide.inf,  Node: Debugging with RHGDB,  Next: Some FAQs,  Prev: Debugging with RHIDE,  Up: Top
  4623.  
  4624. 6. Debugging with RHGDB
  4625. ***********************
  4626.  
  4627. In addition to RHIDE, which has an integrated debugger, there is also a
  4628. stand-alone debugger called RHGDB. (The name comes from my initials and
  4629. GDB)
  4630.  
  4631. RHGDB has the same abilities as RHIDE for debugging your program. But it
  4632. has no editor. The source files are shown in read only windows where you
  4633. can move the cursor and other things (except editing) like in RHIDE.
  4634.  
  4635. The menu tree is analog of RHIDE's but (of course) it has not all the menu
  4636. entries of RHIDE, because RHGDB should be used only for debugging and
  4637. nothing else.
  4638.  
  4639. I have written it to debug DJGPP programs, for which there is no RHIDE
  4640. project file available but the program has debugging information and, if
  4641. you are short of memory, it is much smaller than RHIDE.
  4642.  
  4643. The syntax for using RHGDB is very simple. Run it with your program as the
  4644. first argument followed by any argument, which should be passed to your
  4645. program.
  4646.  
  4647. RHGDB saves and reads the options from files with the suffix `.rgd'.  This
  4648. is done automatically when you run RHGDB with your program as argument by
  4649. searching a file with the same basename of your program and the suffix
  4650. `.rgd' and in this file the options are also automatically stored, when
  4651. you exit RHGDB.
  4652.  
  4653. Alternatively you can also save/read the options from within RHIDE by
  4654. selecting the corresponding menu entries from the Options menu.
  4655.  
  4656. To use the the "Dual display debugging" feature of RHGDB you must give on
  4657. commandline the `-D' switch.
  4658.  
  4659. 
  4660. File: rhide.inf,  Node: Some FAQs,  Next: Index,  Prev: Debugging with RHGDB,  Up: Top
  4661.  
  4662. 7. Some FAQs
  4663. ************
  4664.  
  4665. **Question*: I have enabled the `Use tabs' option, but if I move the
  4666. cursor through that tab, it seems, that RHIDE uses spaces*
  4667.  
  4668. *Answer*:This behavior cannot (currently) be changed. Even when you have
  4669. enabled the use of real tabs (characters with the code 9), the cursor is
  4670. moved as if there are spaces.
  4671.  
  4672. **Question*: Are there any sample project files, to show how RHIDE works?*
  4673.  
  4674. *Answer*:The sources of RHIDE include many project files to rebuild at
  4675. least RHIDE with itself and many others.
  4676.  
  4677. **Question*: I have written some libraries. How can I use them in a
  4678. project?*
  4679.  
  4680. **Question*: How I can use a library, which I have?*
  4681.  
  4682. *Answer*: There are some different ways to do this. On the one side you can
  4683. include them directly in the project with the *Add to project item*
  4684. function (*Note Add item::). But if they are not in the current directory,
  4685. you must also set the library search path to the directory, where they
  4686. are. (*Note Library directories::). The other variant is to include them
  4687. in the list of libraries. (*Note Libraries::)
  4688.  
  4689. If this library is created with RHIDE, that means you have a project file
  4690. for building this library you can also simply include that project file in
  4691. your project. For examples, look at the RHIDE sources in the project file
  4692. for RHIDE.
  4693.  
  4694. **Question*: I have a directory, where all my include files are. Can I
  4695. setup RHIDE to have this directory every time in the include search path,
  4696. when creating a new project?*
  4697.  
  4698. **Question*: I prefer the 80x28 video mode over the default 80x25 mode.
  4699. How I can turn this mode on by default for all newly created project
  4700. files?*
  4701.  
  4702. *Answer*: You can create a default project file. From this file RHIDE reads
  4703. all the options, if it creates a new project. The default project must
  4704. have the same basename as the executable of RHIDE and must be located in
  4705. the same directory.
  4706.  
  4707. The creation of such a default project file is very simple. Change to the
  4708. directory, where `rhide.exe' is located and run there
  4709.      rhide rhide
  4710.  
  4711. Now make any changes in the options which you want to have as default for
  4712. all newly created projects. This includes also settings in the various
  4713. search paths. If you are ready, exit RHIDE and this project file will be
  4714. your default project file.
  4715.  
  4716. **Question*: I know, that I can create a default project file. Can I
  4717. create and use more than one?*
  4718.  
  4719. *Answer*:Since DJGPP supports a quasi-Unix-like link for executables, you
  4720. can create such a link also for RHIDE. As an example I will create a link
  4721. to `rhide.exe' with the name `myrhide.exe'. At first I have to create the
  4722. new file.
  4723.      stubify -g myrhide.exe
  4724. Now I must tell `myrhide.exe' which program it really should run.
  4725.      stubedit myrhide.exe runfile=rhide
  4726. Thats all. Or, if you have installed the GNU fileutils, you can use also
  4727. now the `ln.exe' program to create the link:
  4728.      ln -s rhide.exe myrhide.exe
  4729.  
  4730. **Question*: I don't want to type every time I start RHIDE the commandline
  4731. -L DE to use the German user interface. Is there any better way?*
  4732.  
  4733. *Answer*: Create an environment variable LANGUAGE with your preferred
  4734. language like
  4735.      set LANGUAGE=de
  4736. and your problem is solved.
  4737.  
  4738. **Question*: I have 4 Mb RAM in my computer and every time, when I compile
  4739. large files with optimizations enabled, my hard disk is working very hard.*
  4740.  
  4741. *Answer*:Buy more RAM!
  4742.  
  4743. **Question*: I heard something about a newer version RHIDE. From where I
  4744. can get exact information about this?*
  4745.  
  4746. *Answer*: See at the RHIDE home page, at this URL:
  4747.  
  4748.      http://www.tu-chemnitz.de/~rho/rhide.html
  4749.  
  4750. .  (valid until at least 30. Sepetember 1997) This page contains the
  4751. latest news and the latest version of RHIDE.
  4752.  
  4753. **Question*: I have a lot of money and don't know what to do with it. Can
  4754. you help me?*
  4755.  
  4756. *Answer*: Send it to me, so I can spend more time for developing RHIDE. My
  4757. Address is:
  4758.      Robert Höhne
  4759.      Am Berg 3
  4760.      D-09573 Dittmannsdorf
  4761.      Germany
  4762.  
  4763. **Question*: I think, I found a bug in RHIDE. How can I report it?*
  4764.  
  4765. *Answer*:At first try for your own to solve the problem by checking the
  4766. documentation.
  4767.  
  4768. If the bug is releated to the editor (some keys do not work, autoindenting
  4769. is not like you expect, program creash after some special editing ....)
  4770. please send them to SALVADOR EDUARDO TROPEA (SET) <ice@inti.edu.ar>,
  4771. because he is the author of the in RHIDE integrated editor.
  4772.  
  4773. See at the RHIDE home page, at this URL:
  4774.  
  4775.      http://www.tu-chemnitz.de/~rho/rhide.html
  4776.  
  4777. (valid until at least 30. September 1997), if this problem was already
  4778. reported by other users. As the next ask the problem in the news group
  4779. comp.os.msdos.djgpp Newsgroup, because there may be some other people with
  4780. the same problem, and they can give you an answer or I, because I read
  4781. this group also.
  4782.  
  4783. Linux users should post thier problems in the linux group. To make sure
  4784. that I will read it there also, please include in the subject anywhere the
  4785. word RHIDE so I will find it, because I do not read any article there
  4786. because the group is too heavily used. Currently I do only a subject
  4787. search for the word RHIDE and if not found I mark the group as readed by
  4788. me. Sorry for this, but compared with the very good comp.os.msdos.djgpp
  4789. group the linux groups are too large for seriously diskussion (at least
  4790. for me).
  4791.  
  4792. If this don't help you, do the following:
  4793.  
  4794.      Try to reproduce the error with the smallest possible project or
  4795.      source file. Run RHIDE with all debugging options enabled and redirect
  4796.      the printed output to a file. (*Note Debugging RHIDE::) Send me this
  4797.      file and a detailed as possible description of the problem and
  4798.      include in your report the exact version of RHIDE you are using.
  4799.  
  4800.      The exact version is shown in the About-Dialog and means the version
  4801.      number together with the build date.
  4802.  
  4803.  
  4804. And a last note. If I get bug reports or questions or problems with RHIDE
  4805. which I think that they are of common interest be warned that I bounce
  4806. them simply to the news groups because at this time it is impossible for
  4807. me to answer all the mails I get. So the best is to post the questions
  4808. and/or problems only in the news groups.
  4809.  
  4810. 
  4811. File: rhide.inf,  Node: Index,  Next: Index of key commands,  Prev: Some FAQs,  Up: Top
  4812.  
  4813. 8. Index
  4814. ********
  4815.  
  4816. * Menu:
  4817.  
  4818. * Adding a file to the project:          Add item.
  4819. * Additional options for GCC:            Compiler options.
  4820. * Arguments for your program:            Arguments.
  4821. * Assembler files, which must be preprocessed: Known suffixes.
  4822. * Automatic dependencies:                Standard headers.
  4823. * Automatic dependencies, problems with it: Problems with automatic dependencies.
  4824. * Automatic indention:                   autoindent.
  4825. * Automatic intention:                   Intelligent C indenting.
  4826. * Background colors, 16:                 16 background colors.
  4827. * Backup files:                          create backup files.
  4828. * Blinking colors:                       16 background colors.
  4829. * block commands:                        Block commands.
  4830. * Bug report:                            Bug report.
  4831. * Bug, reporting it:                     Some FAQs.
  4832. * Build:                                 Build all.
  4833. * Build the library:                     Link.
  4834. * Building a library:                    Main targetname.
  4835. * Building an executable:                Main targetname.
  4836. * Builtin calculator:                    Evaluating the contents of variables.
  4837. * Button:                                How the dialogs work.
  4838. * C Flags, edit them:                    C-Flags.
  4839. * C language specific flags:             C options.
  4840. * C++ flags, edit them:                  CXX-Flags.
  4841. * Caching of files:                      No file caching.
  4842. * Calculator:                            Calculator.
  4843. * Call stack:                            Call stack.
  4844. * Cascade the windows:                   Cascade.
  4845. * Changing the name of the library:      Main targetname.
  4846. * Changing the name of the program:      Main targetname.
  4847. * Changing the search paths for files:   Directories.
  4848. * Checkbox:                              How the dialogs work.
  4849. * Checking dependencies:                 Checking the dependencies.
  4850. * Clear:                                 Clear.
  4851. * Clearing the dependencies:             Clear dependencies.
  4852. * Clearing the project:                  Delete rebuildable files.
  4853. * Clipboard:                             Show Clipboard.
  4854. * Close a project:                       Close project.
  4855. * Close a window:                        Close.
  4856. * COFF file, Creating:                   Main targetname.
  4857. * Colors:                                Colors.
  4858. * Column cursor:                         Column cursor.
  4859. * Commandline arguments for your program: Arguments.
  4860. * Commandline options:                   Getting started.
  4861. * Compile:                               Compile.
  4862. * Compile without a project:             Some hints and problems.
  4863. * Compiler options:                      Compiler options.
  4864. * COMSPEC:                               DOS Shell.
  4865. * Configuring RHIDE <1>:                 Change the defaults of RHIDE.
  4866. * Configuring RHIDE:                     Configuring RHIDE.
  4867. * Context help:                          The INFO Viewer.
  4868. * Controlling the optimization of the code: Optimizations.
  4869. * Controlling the warnings:              Warnings.
  4870. * Copy:                                  Copy.
  4871. * Copy to Windows clipboard:             Copy to Windows clipboard.
  4872. * Cplusplus options:                     CXX options.
  4873. * Creating a COFF file:                  Main targetname.
  4874. * Creating a makefile <1>:               Write Makefile.
  4875. * Creating a makefile <2>:               all dependencies in makefile.
  4876. * Creating a makefile:                   The program GPR2MAK.EXE.
  4877. * Creating a new file:                   New.
  4878. * Creating a new project:                Open project.
  4879. * Creating backup files:                 create backup files.
  4880. * Cross cursor <1>:                      Column cursor.
  4881. * Cross cursor:                          Row cursor.
  4882. * Cursor moving:                         Cursor moving commands.
  4883. * Cursor through tabs:                   Some FAQs.
  4884. * Cut:                                   Cut.
  4885. * CXX options:                           CXX options.
  4886. * Debugging:                             Debugging RHIDE.
  4887. * Debugging info:                        Debugging.
  4888. * Debugging RHIDE <1>:                   Show GDB commands.
  4889. * Debugging RHIDE:                       show process information.
  4890. * Debugging with RHIDE:                  Debug.
  4891. * Debugging, dual display:               Use dual display.
  4892. * Debugging, edit the flags:             Debugging-Flags.
  4893. * Default file mask:                     Open.
  4894. * Default language:                      Some FAQs.
  4895. * Default project file:                  Some FAQs.
  4896. * Default project file, more than one:   Some FAQs.
  4897. * Define your own reserved words:        User words.
  4898. * Defines:                               Compiler options.
  4899. * Delete a file from the project:        Delete item.
  4900. * Delete the selected text:              Clear.
  4901. * Deleting commands:                     Erasing commands.
  4902. * Dependencies for a file:               Includes.
  4903. * Dependencies in makefile:              all dependencies in makefile.
  4904. * Dependencies, checking:                Checking the dependencies.
  4905. * Dependencies, problems with it:        Problems with automatic dependencies.
  4906. * Dialog function keys:                  How the dialogs work.
  4907. * Different name for RHIDE:              Some FAQs.
  4908. * Directory for temp files:              Running under Windows 95.
  4909. * Disable shadows:                       Use no shadows.
  4910. * Disassembler:                          Disassembler window.
  4911. * Donations to the author:               Some FAQs.
  4912. * DOS:                                   DOS Shell.
  4913. * Dual display:                          Dual display debugging.
  4914. * Dual display when debugging:           Use dual display.
  4915. * Dual display with RHGDB:               Debugging with RHGDB.
  4916. * Edit a file:                           Open.
  4917. * Edit the list of C flags:              C-Flags.
  4918. * Edit the list of C++ flags:            CXX-Flags.
  4919. * Edit the list of debugging flags:      Debugging-Flags.
  4920. * Edit the list of Fortran flags:        Fortran-Flags.
  4921. * Edit the list of optimization flags:   Optimization-Flags.
  4922. * Edit the list of Pascal flags:         Pascal-Flags.
  4923. * Edit the list of reserved words:       Reserved words.
  4924. * Edit the list of reserved words for Pascal: Pascal reserved words.
  4925. * Edit the list of user defined words:   User words.
  4926. * Edit the list of warning flags:        Warning-Flags.
  4927. * Editor:                                How the editor works.
  4928. * Editor options:                        Editor options.
  4929. * Editor, block commands:                Block commands.
  4930. * Editor, cursor moving:                 Cursor moving commands.
  4931. * Editor, erasing commands:              Erasing commands.
  4932. * Editor, other useful commands:         Other commands.
  4933. * Editor, select some text:              Text selecting and searching commands.
  4934. * Environment variables <1>:             Directories.
  4935. * Environment variables <2>:             Environment variables.
  4936. * Environment variables:                 Setting environment variables for RHIDE.
  4937. * Erasing commands:                      Erasing commands.
  4938. * Executing your program:                Run.
  4939. * Exit:                                  Exit.
  4940. * Expanding tabs:                        Expand all tabs.
  4941. * File caching:                          No file caching.
  4942. * File open dialog:                      Open.
  4943. * Files for syntax help:                 Files to search.
  4944. * Finding text:                          Find.
  4945. * Flags for C files:                     C options.
  4946. * Flags for C++ files:                   CXX options.
  4947. * Flags for Fortran files:               Fortran options.
  4948. * Flags for Pascal files:                Pascal options.
  4949. * Fortran flags, edit them:              Fortran-Flags.
  4950. * Fortran options:                       Fortran options.
  4951. * Free memory:                           show free memory.
  4952. * Function call stack:                   Call stack.
  4953. * Generating of warnings:                Warnings.
  4954. * Global editor options:                 Editor options.
  4955. * Goto a line number:                    Goto line.
  4956. * GPC, -automake:                        Primary file.
  4957. * Header files:                          Include directories.
  4958. * Help:                                  Help.
  4959. * Help about a function:                 Syntax help.
  4960. * Help about help:                       Help about help.
  4961. * Help about the Info-viewer:            Help about help.
  4962. * Help system:                           The INFO Viewer.
  4963. * Highlight the syntax:                  Syntax highlighting.
  4964. * Highlighting the matching parenthesis: Match pair highlight.
  4965. * Highlighting the syntax:               syntax highlighting.
  4966. * Hints:                                 Some hints and problems.
  4967. * How the editor works:                  How the editor works.
  4968. * Include directories:                   Include directories.
  4969. * Include files:                         Include directories.
  4970. * Info Viewer:                           The INFO Viewer.
  4971. * Input line:                            How the dialogs work.
  4972. * Intelligent C indenting:               Intelligent C indenting.
  4973. * Language, setting the default:         Some FAQs.
  4974. * Languages:                             Supported languages.
  4975. * Latest version of RHIDE:               Some FAQs.
  4976. * Leaving RHIDE:                         Exit.
  4977. * LFN:                                   Running under Windows 95.
  4978. * Libc reference:                        libc reference.
  4979. * Libraries:                             Libraries.
  4980. * Libraries in a project:                Some FAQs.
  4981. * Library search path:                   Library directories.
  4982. * Link the program:                      Link.
  4983. * Linker options:                        Linker options.
  4984. * Linux:                                 Running under Linux.
  4985. * List of all windows:                   List.
  4986. * Listbox:                               How the dialogs work.
  4987. * Lists:                                 How the dialogs work.
  4988. * Load options <1>:                      Load options.
  4989. * Load options:                          Saving/Loading the options.
  4990. * Loading a file:                        Open.
  4991. * Local options:                         Local options for a project item.
  4992. * Local options for a project item:      Local options.
  4993. * Long filenames:                        Running under Windows 95.
  4994. * Macro executing:                       Play.
  4995. * Macro recording:                       Record.
  4996. * Macro stop recording:                  Stop.
  4997. * Macros <1>:                            Defining macros.
  4998. * Macros:                                Macro.
  4999. * Main targetname:                       Main targetname.
  5000. * Make:                                  Make.
  5001. * Make clear:                            Delete rebuildable files.
  5002. * Makefile:                              Write Makefile.
  5003. * Mark some text:                        Text selecting and searching commands.
  5004. * Message window:                        Message window.
  5005. * Miscellaneous commands:                Other commands.
  5006. * Mouse options:                         Mouse options.
  5007. * Moving a window:                       Size/move.
  5008. * MS-DOS:                                DOS Shell.
  5009. * Name of the main target:               Main targetname.
  5010. * Next message:                          Next message.
  5011. * Next window:                           Next.
  5012. * No shadows:                            Use no shadows.
  5013. * Object file search path:               Object directories.
  5014. * Object files in a different directory: Object directories.
  5015. * Open a file:                           Open.
  5016. * Open a project:                        Open project.
  5017. * Optimal filling:                       Optimal fill.
  5018. * Optimizations, edit the flags:         Optimization-Flags.
  5019. * Optimizing the code:                   Optimizations.
  5020. * Options for a single file:             Local options.
  5021. * Options for the linker:                Linker options.
  5022. * Order of the project items:            Items of your project.
  5023. * OS/2:                                  Running under OS/2.
  5024. * Other compilers:                       Change the defaults of RHIDE.
  5025. * Pascal flags, edit them:               Pascal-Flags.
  5026. * Pascal options:                        Pascal options.
  5027. * Pascal reserved words:                 Pascal reserved words.
  5028. * Paste:                                 Paste.
  5029. * Paste from Windows clipboard:          Paste from Windows clipboard.
  5030. * Persistent blocks:                     Persistent blocks.
  5031. * Playing the macro:                     Play.
  5032. * Preprocessing Assembler files:         Known suffixes.
  5033. * Previous message:                      Previous message.
  5034. * Previous window:                       Previous.
  5035. * Problems:                              Some hints and problems.
  5036. * Project window:                        Project window.
  5037. * Pseudo Macros:                         Defining macros.
  5038. * Quit:                                  Exit.
  5039. * Radiobuttons:                          How the dialogs work.
  5040. * RCS:                                   RCS and RHIDE.
  5041. * Rebuilding RHIDE:                      Some FAQs.
  5042. * Redirecting stderr:                    redirect stderr.
  5043. * Redirecting stdout:                    redirect stdout.
  5044. * Redo:                                  Redo.
  5045. * Remove a file from the project:        Delete item.
  5046. * Removing all targets:                  Delete rebuildable files.
  5047. * Removing the internal dependencies:    Clear dependencies.
  5048. * Repeat of replacing:                   Search again.
  5049. * Repeat of searching:                   Search again.
  5050. * Replacing text:                        Replace.
  5051. * Reporting bugs <1>:                    Some FAQs.
  5052. * Reporting bugs:                        Bug report.
  5053. * Reserved words:                        Reserved words.
  5054. * Resizing a window:                     Size/move.
  5055. * Reverse mouse buttons:                 Mouse options.
  5056. * RHIDE project files:                   Some FAQs.
  5057. * RHIDE, latest version:                 Some FAQs.
  5058. * rhide.env:                             Setting environment variables for RHIDE.
  5059. * rhide.env, Samples:                    Setting environment variables for RHIDE.
  5060. * Row cursor:                            Row cursor.
  5061. * Running your program:                  Run.
  5062. * Sample projects:                       Some FAQs.
  5063. * Save all files to disk:                Save all.
  5064. * Save options <1>:                      Saving/Loading the options.
  5065. * Save options:                          Save options.
  5066. * Save the file to disk:                 Save.
  5067. * Save the file under a different name:  Save as.
  5068. * Search a function:                     Jump to function.
  5069. * Search path for include files:         Include directories.
  5070. * Search path for libraries:             Library directories.
  5071. * Search path for object files:          Object directories.
  5072. * Search path for source files:          Sources directories.
  5073. * Searching text:                        Find.
  5074. * Searchmethod for syntax help:          Options for searching.
  5075. * Select a window:                       Selecting a window.
  5076. * Select the project window:             Project.
  5077. * Selecting some text:                   Text selecting and searching commands.
  5078. * Show free memory:                      show free memory.
  5079. * Show the includes for a file:          Includes.
  5080. * Show the project window:               Project.
  5081. * Show the user screen:                  UserScreen.
  5082. * Show what RHIDE does:                  show process information.
  5083. * Single file compiling:                 Some hints and problems.
  5084. * Size for the tabs:                     Tabsize.
  5085. * Source file search path:               Sources directories.
  5086. * Source files in a different directory: Sources directories.
  5087. * Space as part of an argument:          Syntax of arguments.
  5088. * Specs:                                 Setting environment variables for RHIDE.
  5089. * Standard headers:                      Standard headers.
  5090. * Start:                                 Getting started.
  5091. * Starting a macro:                      Record.
  5092. * Starting your program:                 Run.
  5093. * stderr redirecting:                    redirect stderr.
  5094. * stdout redirecting:                    redirect stdout.
  5095. * Stopping a macro:                      Stop.
  5096. * Store a file:                          Save.
  5097. * Suppressing of warnings:               Warnings.
  5098. * Syntax help:                           Syntax help.
  5099. * Syntax help, Index:                    Index for syntax help.
  5100. * Syntax help, Options:                  Options for searching.
  5101. * Syntax highlighting <1>:               syntax highlighting.
  5102. * Syntax highlighting:                   Syntax highlighting.
  5103. * Tab size:                              Tabsize.
  5104. * Tabs:                                  Use tabs.
  5105. * Tabs to spaces:                        Expand all tabs.
  5106. * Temp directory:                        Running under Windows 95.
  5107. * temporary do to DOS:                   DOS Shell.
  5108. * Text mode:                             Screen mode.
  5109. * Tile the windows:                      Tile.
  5110. * Transparent blocks:                    Transparent Blocks.
  5111. * Turbo Vision:                          What is Turbo Vision.
  5112. * Type of the main target:               Main targetname.
  5113. * Undo:                                  Undo.
  5114. * Use of libraries:                      Some FAQs.
  5115. * User defined compiler:                 User defined compiler.
  5116. * User defined reserved words:           User words.
  5117. * User screen:                           UserScreen.
  5118. * Using the dialog:                      How the dialogs work.
  5119. * Using the macro:                       Play.
  5120. * Using true tabs:                       Use tabs.
  5121. * Version of RHIDE:                      About.
  5122. * Video mode:                            Screen mode.
  5123. * Warnings:                              Warnings.
  5124. * Warnings, edit the flags:              Warning-Flags.
  5125. * Window, close it:                      Close.
  5126. * Window, moving:                        Size/move.
  5127. * Window, resizing:                      Size/move.
  5128. * Window, select it:                     Selecting a window.
  5129. * Window, select the next:               Next.
  5130. * Window, select the previous:           Previous.
  5131. * Window, zoom it:                       Zoom.
  5132. * Windows:                               Windows.
  5133. * Windows 95:                            Running under Windows 95.
  5134. * Windows, cascade them:                 Cascade.
  5135. * Windows, show a list of all:           List.
  5136. * Windows, tile all:                     Tile.
  5137. * Write a makefile:                      Write Makefile.
  5138. * xterm, running RHIDE in it:            Running under Linux.
  5139. * Zoom a window:                         Zoom.
  5140.  
  5141. 
  5142. File: rhide.inf,  Node: Index of key commands,  Prev: Index,  Up: Top
  5143.  
  5144. 9. Index of key commands
  5145. ************************
  5146.  
  5147. * Menu:
  5148.  
  5149. * <Alt+0> | List of all windows:         List.
  5150. * <Alt+Backspace> | Undo:                Undo.
  5151. * <Alt+F10> | Macro stop:                Stop.
  5152. * <Alt+F2> | Jump to function:           Jump to function.
  5153. * <Alt+F3> | Close a window:             Close.
  5154. * <Alt+F5> | User screen:                UserScreen.
  5155. * <Alt+F7> | Previous message:           Previous message.
  5156. * <Alt+F8> | Next message:               Next message.
  5157. * <Alt+F9> | Compile:                    Compile.
  5158. * <Alt+SPACE> | System Menu:             System menu.
  5159. * <Alt+X> | Leaving RHIDE:               Exit.
  5160. * <Alt> | Selecting a window:            Selecting a window.
  5161. * <Backspace> | Erase a character:       Erasing commands.
  5162. * <Ctrl+A> | Word left:                  Cursor moving commands.
  5163. * <Ctrl+Backspace> | Delete to the previous word: Erasing commands.
  5164. * <Ctrl+Break> | Interrupting the compilers: What is RHIDE?.
  5165. * <Ctrl+C> | Ignoring:                   What is RHIDE?.
  5166. * <Ctrl+C> | Page down:                  Cursor moving commands.
  5167. * <Ctrl+D> | Cursor right:               Cursor moving commands.
  5168. * <Ctrl+Del> | Delete selected text:     Text selecting and searching commands.
  5169. * <Ctrl+E> | Cursor up:                  Cursor moving commands.
  5170. * <Ctrl+F10> | Macro play:               Play.
  5171. * <Ctrl+F1> | Context help:              The INFO Viewer.
  5172. * <Ctrl+F1> | List of functions:         Modifying and setting a breakpoint.
  5173. * <Ctrl+F1> | Syntax help:               Syntax help.
  5174. * <Ctrl+F2> | Program reset:             Program reset.
  5175. * <Ctrl+F3> | Call stack:                Call stack.
  5176. * <Ctrl+F4> | Evaluate/Modify:           Evaluate/Modify.
  5177. * <Ctrl+F5> | Resize/move a window:      Size/move.
  5178. * <Ctrl+F7> | Watch an expression:       Watch an expression.
  5179. * <Ctrl+F8> | Toggle a breakpoint:       Set/Reset Breakpoint.
  5180. * <Ctrl+F9> | Run:                       Run.
  5181. * <Ctrl+F> | Word right:                 Cursor moving commands.
  5182. * <Ctrl+G> | Delete a character:         Erasing commands.
  5183. * <Ctrl+H> | Delete a character:         Erasing commands.
  5184. * <Ctrl+I> | Show includes:              Includes.
  5185. * <Ctrl+Ins> | Copy <1>:                 Text selecting and searching commands.
  5186. * <Ctrl+Ins> | Copy:                     Copy.
  5187. * <Ctrl+J> | Goto line:                  Goto line.
  5188. * <Ctrl+J> | Jump to a line:             Other commands.
  5189. * <Ctrl+K+?> | Set a marker:             Other commands.
  5190. * <Ctrl+K+B> | Start of block:           Block commands.
  5191. * <Ctrl+K+C> | Paste:                    Text selecting and searching commands.
  5192. * <Ctrl+K+H> | Unselect:                 Text selecting and searching commands.
  5193. * <Ctrl+K+I> | Indent block:             Block commands.
  5194. * <Ctrl+K+K> | Copy:                     Text selecting and searching commands.
  5195. * <Ctrl+K+K> | End of block:             Block commands.
  5196. * <Ctrl+K+M> | To upper:                 Block commands.
  5197. * <Ctrl+K+O> | To lower:                 Block commands.
  5198. * <Ctrl+K+R> | Read block from file:     Block commands.
  5199. * <Ctrl+K+Shift+Tab> | Block unindenting: Block commands.
  5200. * <Ctrl+K+Tab> | Block indenting:        Block commands.
  5201. * <Ctrl+K+U> | Unindent block:           Block commands.
  5202. * <Ctrl+K+V> | Move block:               Block commands.
  5203. * <Ctrl+K+W> | Write block to file:      Block commands.
  5204. * <Ctrl+K+Y> | Cut:                      Text selecting and searching commands.
  5205. * <Ctrl+L> | Again find/replace:         Text selecting and searching commands.
  5206. * <Ctrl+L> | Search again:               Search again.
  5207. * <Ctrl+O> | Auto indent:                Other commands.
  5208. * <Ctrl+O> | Local options <1>:          Local options for a project item.
  5209. * <Ctrl+O> | Local options:              Local options.
  5210. * <Ctrl+PgDown> | Bottom of file:        Cursor moving commands.
  5211. * <Ctrl+PgUp> | Begin of file:           Cursor moving commands.
  5212. * <Ctrl+Q+?> | Jump to a marker:         Other commands.
  5213. * <Ctrl+Q+A> | Replace <1>:              Text selecting and searching commands.
  5214. * <Ctrl+Q+A> | Replace:                  Replace.
  5215. * <Ctrl+Q+C> | End of file:              Cursor moving commands.
  5216. * <Ctrl+Q+D> | End of line:              Cursor moving commands.
  5217. * <Ctrl+Q+F> | Find <1>:                 Find.
  5218. * <Ctrl+Q+F> | Find:                     Text selecting and searching commands.
  5219. * <Ctrl+Q+H> | Delete to the beginning of line: Erasing commands.
  5220. * <Ctrl+Q+R> | Start of file:            Cursor moving commands.
  5221. * <Ctrl+Q+S> | Start of line:            Cursor moving commands.
  5222. * <Ctrl+Q+Y> | Delete to the end of line: Erasing commands.
  5223. * <Ctrl+R> | Page up:                    Cursor moving commands.
  5224. * <Ctrl+S> | Cursor left:                Cursor moving commands.
  5225. * <Ctrl+T> | Delete to the next word:    Erasing commands.
  5226. * <Ctrl+V> | Overwrite mode:             Other commands.
  5227. * <Ctrl+X> | Cursor down:                Cursor moving commands.
  5228. * <Ctrl+Y> | Erase a line:               Erasing commands.
  5229. * <Del> | Close a window:                List.
  5230. * <Del> | Erase a character:             Erasing commands.
  5231. * <Del> | Remove a project item:         Delete item.
  5232. * <Del> | Remove from the watches:       Watching the contents of variables.
  5233. * <ENTER> | Activate a button:           How the dialogs work.
  5234. * <ENTER> | Jump to the source line:     Message window.
  5235. * <ENTER> | Open a project item:         Open a project item.
  5236. * <ENTER> | Open an include file:        Dependencies of project item.
  5237. * <ENTER> | Select a item in a Listbox:  How the dialogs work.
  5238. * <ENTER> | Select a menu entry:         What is Turbo Vision.
  5239. * <ENTER> | Select a message:            Some hints and problems.
  5240. * <ENTER> | Select a window:             List.
  5241. * <ENTER> | Select menu item:            Description of the pull-down menus.
  5242. * <ESC> | Leaving a dialog <1>:          Open.
  5243. * <ESC> | Leaving a dialog <2>:          How to toggle these flags.
  5244. * <ESC> | Leaving a dialog:              How the dialogs work.
  5245. * <F10> | Activate menu bar:             What is Turbo Vision.
  5246. * <F10> | Menu <1>:                      Description of the pull-down menus.
  5247. * <F10> | Menu:                          Getting started.
  5248. * <F1> | Help:                           Help.
  5249. * <F1> | Help about the INFO viewer:     Help.
  5250. * <F1> | Help about the INFO Viewer:     The INFO Viewer.
  5251. * <F2> | saving a file:                  Save.
  5252. * <F3> | open a file:                    Open.
  5253. * <F4> | Go to cursor:                   Go to cursor.
  5254. * <F5> | Zoom a window:                  Zoom.
  5255. * <F6> | Next window:                    Next.
  5256. * <F7> | Trace into:                     Trace into.
  5257. * <F8> | Step over:                      Step over.
  5258. * <F9> | Make:                           Make.
  5259. * <Ins> | Add a project item:            Add item.
  5260. * <Shift+> | Resizing a window:          Size/move.
  5261. * <Shift+Del> | Cut <1>:                 Text selecting and searching commands.
  5262. * <Shift+Del> | Cut:                     Cut.
  5263. * <Shift+F10> | Macro start:             Record.
  5264. * <Shift+F4> | Go to cursor (No display swap): Go to cursor.
  5265. * <Shift+F6> | Previous window:          Previous.
  5266. * <Shift+F7> | Trace into (No display swap): Trace into.
  5267. * <Shift+F8> | Step over (No display swap): Step over.
  5268. * <Shift+Ins> | Paste <1>:               Text selecting and searching commands.
  5269. * <Shift+Ins> | Paste:                   Paste.
  5270. * <Shift+Space> | Execute a macro:       Other commands.
  5271. * <Shift+Tab> | Previous input line:     Libraries.
  5272. * <Shift> | Select text:                 Text selecting and searching commands.
  5273. * <SPACE> | Activate a flag:             How to toggle these flags.
  5274. * <SPACE> | Toggle an option:            How the dialogs work.
  5275. * <Tab> | Next input line:               Libraries.
  5276. * Activate a button | <ENTER> |:         How the dialogs work.
  5277. * Activate a flag | <SPACE> |:           How to toggle these flags.
  5278. * Activate menu bar | <F10> |:           What is Turbo Vision.
  5279. * Add a project item | <Ins> |:          Add item.
  5280. * Again find/replace | <Ctrl+L> |:       Text selecting and searching commands.
  5281. * Auto indent | <Ctrl+O> |:              Other commands.
  5282. * Begin of file | <Ctrl+PgUp> |:         Cursor moving commands.
  5283. * Block indenting | <Ctrl+K+Tab> |:      Block commands.
  5284. * Block unindenting | <Ctrl+K+Shift+Tab> |: Block commands.
  5285. * Bottom of file | <Ctrl+PgDown> |:      Cursor moving commands.
  5286. * Call stack | <Ctrl+F3> |:              Call stack.
  5287. * Close a window | <Alt+F3> |:           Close.
  5288. * Close a window | <Del> |:              List.
  5289. * Compile | <Alt+F9> |:                  Compile.
  5290. * Context help | <Ctrl+F1> |:            The INFO Viewer.
  5291. * Copy | <Ctrl+Ins> | <1>:               Copy.
  5292. * Copy | <Ctrl+Ins> |:                   Text selecting and searching commands.
  5293. * Copy | <Ctrl+K+K> |:                   Text selecting and searching commands.
  5294. * Cursor down | <Ctrl+X> |:              Cursor moving commands.
  5295. * Cursor left | <Ctrl+S> |:              Cursor moving commands.
  5296. * Cursor right | <Ctrl+D> |:             Cursor moving commands.
  5297. * Cursor up | <Ctrl+E> |:                Cursor moving commands.
  5298. * Cut | <Ctrl+K+Y> |:                    Text selecting and searching commands.
  5299. * Cut | <Shift+Del> | <1>:               Text selecting and searching commands.
  5300. * Cut | <Shift+Del> |:                   Cut.
  5301. * Delete a character | <Ctrl+G> |:       Erasing commands.
  5302. * Delete a character | <Ctrl+H> |:       Erasing commands.
  5303. * Delete selected text | <Ctrl+Del> |:   Text selecting and searching commands.
  5304. * Delete to the beginning of line | <Ctrl+Q+H> |: Erasing commands.
  5305. * Delete to the end of line | <Ctrl+Q+Y> |: Erasing commands.
  5306. * Delete to the next word | <Ctrl+T> |:  Erasing commands.
  5307. * Delete to the previous word | <Ctrl+Backspace> |: Erasing commands.
  5308. * End of block | <Ctrl+K+K> |:           Block commands.
  5309. * End of file | <Ctrl+Q+C> |:            Cursor moving commands.
  5310. * End of line | <Ctrl+Q+D> |:            Cursor moving commands.
  5311. * Erase a character | <Backspace> |:     Erasing commands.
  5312. * Erase a character | <Del> |:           Erasing commands.
  5313. * Erase a line | <Ctrl+Y> |:             Erasing commands.
  5314. * Evaluate/Modify | <Ctrl+F4> |:         Evaluate/Modify.
  5315. * Execute a macro | <Shift+Space> |:     Other commands.
  5316. * Find | <Ctrl+Q+F> | <1>:               Text selecting and searching commands.
  5317. * Find | <Ctrl+Q+F> |:                   Find.
  5318. * Go to cursor (No display swap) | <Shift+F4> |: Go to cursor.
  5319. * Go to cursor | <F4> |:                 Go to cursor.
  5320. * Goto line | <Ctrl+J> |:                Goto line.
  5321. * Help about the INFO Viewer | <F1> |:   The INFO Viewer.
  5322. * Help about the INFO viewer | <F1> |:   Help.
  5323. * Help | <F1> |:                         Help.
  5324. * Ignoring | <Ctrl+C> |:                 What is RHIDE?.
  5325. * Indent block | <Ctrl+K+I> |:           Block commands.
  5326. * Interrupting the compilers | <Ctrl+Break> |: What is RHIDE?.
  5327. * Jump to a line | <Ctrl+J> |:           Other commands.
  5328. * Jump to a marker | <Ctrl+Q+?> |:       Other commands.
  5329. * Jump to function | <Alt+F2> |:         Jump to function.
  5330. * Jump to the source line | <ENTER> |:   Message window.
  5331. * Leaving a dialog | <ESC> | <1>:        How the dialogs work.
  5332. * Leaving a dialog | <ESC> | <2>:        Open.
  5333. * Leaving a dialog | <ESC> |:            How to toggle these flags.
  5334. * Leaving RHIDE | <Alt+X> |:             Exit.
  5335. * List of all windows | <Alt+0> |:       List.
  5336. * List of functions | <Ctrl+F1> |:       Modifying and setting a breakpoint.
  5337. * Local options | <Ctrl+O> | <1>:        Local options.
  5338. * Local options | <Ctrl+O> |:            Local options for a project item.
  5339. * Macro play | <Ctrl+F10> |:             Play.
  5340. * Macro start | <Shift+F10> |:           Record.
  5341. * Macro stop | <Alt+F10> |:              Stop.
  5342. * Make | <F9> |:                         Make.
  5343. * Menu | <F10> | <1>:                    Description of the pull-down menus.
  5344. * Menu | <F10> |:                        Getting started.
  5345. * Move block | <Ctrl+K+V> |:             Block commands.
  5346. * Next input line | <Tab> |:             Libraries.
  5347. * Next message | <Alt+F8> |:             Next message.
  5348. * Next window | <F6> |:                  Next.
  5349. * open a file | <F3> |:                  Open.
  5350. * Open a project item | <ENTER> |:       Open a project item.
  5351. * Open an include file | <ENTER> |:      Dependencies of project item.
  5352. * Overwrite mode | <Ctrl+V> |:           Other commands.
  5353. * Page down | <Ctrl+C> |:                Cursor moving commands.
  5354. * Page up | <Ctrl+R> |:                  Cursor moving commands.
  5355. * Paste | <Ctrl+K+C> |:                  Text selecting and searching commands.
  5356. * Paste | <Shift+Ins> | <1>:             Paste.
  5357. * Paste | <Shift+Ins> |:                 Text selecting and searching commands.
  5358. * Previous input line | <Shift+Tab> |:   Libraries.
  5359. * Previous message | <Alt+F7> |:         Previous message.
  5360. * Previous window | <Shift+F6> |:        Previous.
  5361. * Program reset | <Ctrl+F2> |:           Program reset.
  5362. * Read block from file | <Ctrl+K+R> |:   Block commands.
  5363. * Remove a project item | <Del> |:       Delete item.
  5364. * Remove from the watches | <Del> |:     Watching the contents of variables.
  5365. * Replace | <Ctrl+Q+A> | <1>:            Replace.
  5366. * Replace | <Ctrl+Q+A> |:                Text selecting and searching commands.
  5367. * Resize/move a window | <Ctrl+F5> |:    Size/move.
  5368. * Resizing a window | <Shift+> |:        Size/move.
  5369. * Run | <Ctrl+F9> |:                     Run.
  5370. * saving a file | <F2> |:                Save.
  5371. * Search again | <Ctrl+L> |:             Search again.
  5372. * Select a item in a Listbox | <ENTER> |: How the dialogs work.
  5373. * Select a menu entry | <ENTER> |:       What is Turbo Vision.
  5374. * Select a message | <ENTER> |:          Some hints and problems.
  5375. * Select a window | <ENTER> |:           List.
  5376. * Select menu item | <ENTER> |:          Description of the pull-down menus.
  5377. * Select text | <Shift> |:               Text selecting and searching commands.
  5378. * Selecting a window | <Alt> |:          Selecting a window.
  5379. * Set a marker | <Ctrl+K+?> |:           Other commands.
  5380. * Show includes | <Ctrl+I> |:            Includes.
  5381. * Start of block | <Ctrl+K+B> |:         Block commands.
  5382. * Start of file | <Ctrl+Q+R> |:          Cursor moving commands.
  5383. * Start of line | <Ctrl+Q+S> |:          Cursor moving commands.
  5384. * Step over (No display swap) | <Shift+F8> |: Step over.
  5385. * Step over | <F8> |:                    Step over.
  5386. * Syntax help | <Ctrl+F1> |:             Syntax help.
  5387. * System Menu | <Alt+SPACE> |:           System menu.
  5388. * To lower | <Ctrl+K+O> |:               Block commands.
  5389. * To upper | <Ctrl+K+M> |:               Block commands.
  5390. * Toggle a breakpoint | <Ctrl+F8> |:     Set/Reset Breakpoint.
  5391. * Toggle an option | <SPACE> |:          How the dialogs work.
  5392. * Trace into (No display swap) | <Shift+F7> |: Trace into.
  5393. * Trace into | <F7> |:                   Trace into.
  5394. * Undo | <Alt+Backspace> |:              Undo.
  5395. * Unindent block | <Ctrl+K+U> |:         Block commands.
  5396. * Unselect | <Ctrl+K+H> |:               Text selecting and searching commands.
  5397. * User screen | <Alt+F5> |:              UserScreen.
  5398. * Watch an expression | <Ctrl+F7> |:     Watch an expression.
  5399. * Word left | <Ctrl+A> |:                Cursor moving commands.
  5400. * Word right | <Ctrl+F> |:               Cursor moving commands.
  5401. * Write block to file | <Ctrl+K+W> |:    Block commands.
  5402. * Zoom a window | <F5> |:                Zoom.
  5403.  
  5404.  
  5405. 
  5406. Tag Table:
  5407. Node: Top480
  5408. Node: Introduction912
  5409. Node: Copying1237
  5410. Node: Installing RHIDE3164
  5411. Node: Configuring RHIDE4747
  5412. Node: What is RHIDE?6525
  5413. Node: Requirements8579
  5414. Node: Getting started9908
  5415. Node: Supported languages14336
  5416. Node: Debugging RHIDE16365
  5417. Node: The program GPR2MAK.EXE17810
  5418. Node: First steps with RHIDE19230
  5419. Node: What are these so called projects19583
  5420. Node: Creating your first project20396
  5421. Node: Environment variables22139
  5422. Node: Setting environment variables for RHIDE23881
  5423. Node: Where to store the environment file27913
  5424. Node: General information about how RHIDE works28765
  5425. Node: Known suffixes29826
  5426. Node: Syntax of arguments32746
  5427. Node: Running under Windows 9533195
  5428. Node: Running under OS/234573
  5429. Node: Running under Windows NT34986
  5430. Node: Running under Linux35200
  5431. Node: General use of RHIDE37326
  5432. Node: Creating a program37588
  5433. Node: Creating a program without a project38280
  5434. Node: Creating a library39039
  5435. Node: Saving/Loading the options39586
  5436. Node: Description of the pull-down menus40448
  5437. Node: System menu41171
  5438. Node: About41631
  5439. Node: Bug report41831
  5440. Node: FSDB42091
  5441. Node: GREP42368
  5442. Node: GDB42704
  5443. Node: Refresh Desktop42863
  5444. Node: Calculator43205
  5445. Node: Puzzle43790
  5446. Node: Calender44059
  5447. Node: ASCII table44360
  5448. Node: File44866
  5449. Node: Open45170
  5450. Node: New46501
  5451. Node: Save46791
  5452. Node: Save as47244
  5453. Node: Save all47520
  5454. Node: DOS Shell47718
  5455. Node: Exit48156
  5456. Node: Edit48370
  5457. Node: Undo48798
  5458. Node: Redo49000
  5459. Node: Cut49178
  5460. Node: Copy49375
  5461. Node: Paste49574
  5462. Node: Show Clipboard49818
  5463. Node: Clear50076
  5464. Node: Copy to Windows clipboard50263
  5465. Node: Paste from Windows clipboard50564
  5466. Node: Expand all tabs50882
  5467. Node: Compact text51205
  5468. Node: Macro51510
  5469. Node: Record51890
  5470. Node: Stop52116
  5471. Node: Play52283
  5472. Node: Search52433
  5473. Node: Find52776
  5474. Node: Replace53111
  5475. Node: Search again53440
  5476. Node: Goto line53654
  5477. Node: Jump to function53909
  5478. Node: Next message54394
  5479. Node: Previous message54690
  5480. Node: RUN54977
  5481. Node: Run55261
  5482. Node: Step over55644
  5483. Node: Trace into56078
  5484. Node: Go to cursor56547
  5485. Node: Program reset57038
  5486. Node: Main function57333
  5487. Node: Arguments57837
  5488. Node: Compile menu58080
  5489. Node: Compile58362
  5490. Node: Make58730
  5491. Node: Link59086
  5492. Node: Build all59428
  5493. Node: Debug59623
  5494. Node: Set/Reset Breakpoint60075
  5495. Node: Evaluate/Modify60286
  5496. Node: Watch an expression60517
  5497. Node: Breakpoints60745
  5498. Node: Disassembler window60933
  5499. Node: Call stack61715
  5500. Node: List of Functions62142
  5501. Node: PROJECT63199
  5502. Node: Open project63601
  5503. Node: Close project64382
  5504. Node: Add item64606
  5505. Node: Delete item65235
  5506. Node: Local options65552
  5507. Node: Includes66044
  5508. Node: Main targetname66326
  5509. Node: Primary file66928
  5510. Node: Clear dependencies67518
  5511. Node: Delete rebuildable files68036
  5512. Node: Write Makefile68392
  5513. Node: Options69001
  5514. Node: Directories69349
  5515. Node: Include directories70170
  5516. Node: Library directories70504
  5517. Node: Object directories70905
  5518. Node: Sources directories71284
  5519. Node: Standard headers71573
  5520. Node: C/C++-Compiler71949
  5521. Node: Warnings72399
  5522. Node: Optimizations72817
  5523. Node: Debugging73182
  5524. Node: C options73585
  5525. Node: CXX options73960
  5526. Node: Pascal options74351
  5527. Node: Fortran options74763
  5528. Node: How to toggle these flags75194
  5529. Node: Libraries75902
  5530. Node: Linker options77350
  5531. Node: Compiler options77663
  5532. Node: Environment77991
  5533. Node: Colors78383
  5534. Node: Editor options78563
  5535. Node: autoindent78939
  5536. Node: Use tabs79293
  5537. Node: Persistent blocks79686
  5538. Node: Intelligent C indenting80147
  5539. Node: Column cursor80659
  5540. Node: Row cursor81102
  5541. Node: Match pair highlight81529
  5542. Node: Do not move the cursor on paste81989
  5543. Node: Transparent Blocks82322
  5544. Node: Optimal fill82601
  5545. Node: Tabsize82866
  5546. Node: Preferences83221
  5547. Node: all dependencies in makefile83869
  5548. Node: create backup files84348
  5549. Node: syntax highlighting84719
  5550. Node: Use dual display85161
  5551. Node: redirect stderr85742
  5552. Node: redirect stdout86124
  5553. Node: show process information86407
  5554. Node: show free memory86768
  5555. Node: No file caching87119
  5556. Node: 16 background colors87530
  5557. Node: Show GDB commands88239
  5558. Node: Use no shadows88535
  5559. Node: Save text palette88798
  5560. Node: Save project only when closing89064
  5561. Node: Screen mode89455
  5562. Node: Mouse options90386
  5563. Node: Reserved words90667
  5564. Node: Pascal reserved words91039
  5565. Node: C-Flags91430
  5566. Node: CXX-Flags91701
  5567. Node: Pascal-Flags91971
  5568. Node: Fortran-Flags92259
  5569. Node: Warning-Flags92557
  5570. Node: Debugging-Flags92850
  5571. Node: Optimization-Flags93155
  5572. Node: User words93470
  5573. Node: How to change the list of flags93780
  5574. Node: Save options95232
  5575. Node: Load options95546
  5576. Node: Windows95723
  5577. Node: Size/move96095
  5578. Node: Zoom96827
  5579. Node: Tile97086
  5580. Node: Cascade97272
  5581. Node: Next97518
  5582. Node: Previous97679
  5583. Node: Close97856
  5584. Node: List98163
  5585. Node: Project98455
  5586. Node: UserScreen98684
  5587. Node: Help submenu98937
  5588. Node: Help99270
  5589. Node: RHIDE Help index100320
  5590. Node: Syntax help submenu100553
  5591. Node: Syntax help100937
  5592. Node: Files to search101464
  5593. Node: Options for searching101787
  5594. Node: Exact102319
  5595. Node: Substring102561
  5596. Node: Fuzzy102819
  5597. Node: Search options103099
  5598. Node: Fuzzy value103368
  5599. Node: Index for syntax help103632
  5600. Node: libc reference103946
  5601. Node: Help about help104222
  5602. Node: Detailed description of some parts of RHIDE104490
  5603. Node: Selecting a window105106
  5604. Node: How the editor works105625
  5605. Node: Erasing commands106896
  5606. Node: Cursor moving commands107614
  5607. Node: Text selecting and searching commands108630
  5608. Node: Block commands109397
  5609. Node: Other commands110608
  5610. Node: Some hints and problems111350
  5611. Node: Problems with automatic dependencies112116
  5612. Node: Project window113702
  5613. Node: Items of your project114213
  5614. Node: Open a project item115293
  5615. Node: Dependencies of project item115900
  5616. Node: Local options for a project item116463
  5617. Node: Local commandline options117094
  5618. Node: exclude from link117409
  5619. Node: rebuild seldom117756
  5620. Node: Name of the output file118248
  5621. Node: Compiler type118552
  5622. Node: User defined compiler119676
  5623. Node: Error checking120449
  5624. Node: Error program121346
  5625. Node: Builtin compiler specs122761
  5626. Node: Builtin variables124376
  5627. Node: Change the defaults of RHIDE130875
  5628. Node: Message window132057
  5629. Node: Syntax highlighting132864
  5630. Node: Checking the dependencies133479
  5631. Node: What is Turbo Vision134237
  5632. Node: How the dialogs work136581
  5633. Node: Defining macros138912
  5634. Node: The INFO Viewer139217
  5635. Node: RCS and RHIDE140452
  5636. Node: Debugging with RHIDE142631
  5637. Node: Limitations of the integrated debugger143931
  5638. Node: Dual display debugging145914
  5639. Node: Using the integrated debugger146731
  5640. Node: Stepping through the source code147263
  5641. Node: Evaluating the contents of variables148516
  5642. Node: Watching the contents of variables150574
  5643. Node: Problems with C++ programs151224
  5644. Node: Using Breakpoints152560
  5645. Node: Setting a breakpoint153031
  5646. Node: Modifying and setting a breakpoint153547
  5647. Node: Problems with breakpoints155865
  5648. Node: Debugging with RHGDB156346
  5649. Node: Some FAQs157932
  5650. Node: Index164124
  5651. Node: Index of key commands182624
  5652. 
  5653. End Tag Table
  5654.